Bilgisayar ve Bilişim Bilimleri Fakültesi
“Genç Akademisyenler ve Lisansüstü Çalışmalar Seminerleri Dizisi”
(20.04.2022)
Fakültemizde “Genç Akademisyenler Ve Lisansüstü Çalışmalar Seminerleri Dizisi” etkinliğinde bu hafta(20.04.2021), Dr. Beyza EKEN, aşağıda başlığı özeti verilen doktora tez çalışmasını sunmuştur. Genç hocamıza başarılı sunumundan dolayı teşekkür eder, başarılarının devamını dileriz.
Prof.Dr.Nejat YUMUŞAK,Dekan
Seminer Konusu:
“SOFTWARE DEFECT PREDICTION WITH A PERSONALIZATION FOCUS AND CHALLENGES DURING DEPLOYMENT”
KİŞİSELLEŞTİRME ODAKLI YAZILIM HATA TAHMİNİ VE ENTEGRASYON ZORLUKLARI
Yazılım sistemlerinin hayatımızdaki yeri ve önemi yadsınamaz. Organizasyonların en önemli hedeflerinden biri kullanıcılara hatasız ve kaliteli bir yazılım sunabilmektir. Bu kapsamda en çok bütçe ve zaman ayrılan aktivitelerden biri yazılımdaki hataların tespit edilerek giderilmesidir. Yazılım mühendisliği alanındaki araştırmacılar yazılım hatalarının tespitini otomatize eden, akıllı öneri sistemleri modellemeye odaklanmıştır. Bir yazılım hata tahmini (YHT) modeli tipik olarak, yazılım depolarından projeye dair geçmiş kodlama ve hata aktivitelerinin örüntülerini yapay zeka ve makine öğrenmesi yöntemleri ile öğrenir ve ekibin yeni geliştirdiği yazılım modüllerinin (örneğin, yazılım sınıfı yada kod çevrimi (commit)) bir hataya sebebiyet verme durumuna dair bir tahminde bulunur.
Biz bu tezde iki ana amaca odaklandık: 1) kişi faktörünün YHT modellerinin tahmin başarısına olan etkisi ve 2) endüstriyel bir yazılım projesi için bir YHT çözümü geliştirmek ve gerçek yazılım geliştirme ortamına entegre etmek.
Deneysel çalışmalarımızda gözlemledik ki, yazılım ekibinin kusurlu iletişim ve etkileşim pratiklerinin (sosyoteknik antipattern) tespit edilerek YHT modellerine dahil edilmesi tahmin başarısını %3 oranında artırmaktadır. Ek olarak, kişiselleştirilmiş YHT modelleri geliştirdik. Tüm yazılım ekibinin geliştirme aktivitesinden öğrenerek tahmin yapan geleneksel yaklaşımından farklı olarak, kişiselleştirilmiş YHT modelleri ekipteki her bir kişi için oluşturulmakta ve sadece ilgili kişinin geliştirme aktiviteleri ile eğitilmektedirler. Altı farklı açık-kaynak kodlu projeden seçilen 222 yazılım geliştiricisi üzerindeki deneylerimiz kişisel modellerin geleneksel modellere göre %24 daha fazla hata yakalayabildiğini göstermiştir.
Bunun yanısıra, Ericsson Türkiye’den seçilen bir pilot proje için YTH prototipleri geliştirilmiş ve seçilen prototip Ericsson’un gerçek yazılım geliştirme ortamına entegre edilmiştir. Entegrasyon aşamasının, araştırma (prototipleme) ortamına kıyasla bambaşka zorlukları olduğu deneyimlenmiştir. Örneğin, gerçek hayattaki veri akışı araştırma ortamında olmayan gürültüler içermekte ve gerçek ortamdaki YHT modellerinin belli periyodlarla güncellenmesine ihtiyaç duyulabilmektedir. Gerçek yazılım geliştirme ortamını simüle eden bir deney ortamı tasarlanmış ve bu entegrasyon zorluklarının hata tahmin performansına -37 oranlarında etkilerinin olabileceği gözlemlenmiştir. En iyi hata tahmin performansı üreten model güncelleme periyodu ve gürültülü veri kullanma oranları tercih edilerek YHT prototipinin entegrasyonu sağlanmıştır.