Effective software bug localization using information retrieval and machine learning algorithms


Tezin Türü: Doktora

Tezin Yürütüldüğü Kurum: Dokuz Eylül Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Ana Bilim Dalı, Türkiye

Tezin Onay Tarihi: 2020

Tezin Dili: İngilizce

Öğrenci: MUSTAFA ERŞAHİN

Danışman: SEMİH UTKU

Açık Arşiv Koleksiyonu: AVESİS Açık Erişim Koleksiyonu

Özet:

Yazılım kalite güvence yönetimi, yazılımın başarısı için çok önemlidir. Büyük ölçekli yazılım projelerinde, hata konumlandırma zor ve maliyetli bir süreçtir. Yazılım geliştirme yaşam döngüsünün hem geliştirme hem de bakım aşamasında birçok sorun veya hata rapor edilebilir. Hata düzeltmenin yazılım kalite güvencesinde önemli bir rolü vardır ve hata konumlandırma bu sürecin ilk adımıdır. Geliştiriciler programın akışını, kodlama yapısını ve mantığını anlaması gerektiği için zaman alıcı bir süreçtir. Bu nedenle, geliştiricilerin hatanın yerini keşfetmeleri önemlidir. Genel olarak, yazılım kaynak kodları ve hata kayıtları, farklı teknikler yardımıyla hata konumunun tanımlanması için kullanılır. Bilgi geri getirimi tabanlı hata konumlandırma, hatanın oluştuğu kod bölümünü bulmak için hata raporları ve kaynak kodu bilgilerini kullanır. Bilinen en iyi yöntemler, yazılım geliştirme dillerinin çeşitliliğine, tasarım örüntülerinin ve geliştirme standartlarının farklılıklarından dolayı yeni projelerde tatmin edici bir performans gösterecek şekilde uygulanmaları mümkün değildir. Bu tez, hata konumlandırma süreçlerini yeni bir yazılım projesine uyarlamak için yeni bir algoritma olan Adaptasyonlu Ağırlık Belirleme'yi önermektedir. Bu tez aynı zamanda tüm yazılım projeleri üzerinde çalışmak için yeni bir hata konumlandırma aracı olan BugSTAiR'nin geliştirilmesini de içermektedir. Deneysel çalışmalar, BugSTAiR aracının Adaptasyonlu Ağırlık Belirleme algoritmasının etkisiyle, farklı dillerle geliştirilen ticari yazılım projelerinde, hem gerçek yaşam hem de deneysel veri kümeleri dahil olmak üzere, mevcut algoritmalara göre performansının üst seviyede olduğunu göstermektedir.