Makine Öğrenmesi Yöntemleri İle Yazılım Hata Tahmini
Tezin Türü: Doktora
Tezin Yürütüldüğü Kurum: İstanbul Üniversitesi-Cerrahpaşa, Lisansüstü Eğitim Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı Başkanlığı, Türkiye
Tezin Onay Tarihi: 2021
Tezin Dili: Türkçe
Öğrenci: Zeynep Behrin GÜVEN AYDIN
Danışman: Rüya Şamlı
Açık Arşiv Koleksiyonu: AVESİS Açık Erişim Koleksiyonu
Özet:Yazılım hatası, bir yazılım ürününde bir yazılım gereksinimini veya son kullanıcının ihtiyacını karşılamayan bir durum, başka bir ifadeyle hata, bir programın kusurlu çalışmasına ya da istenmeyen sonuçlar üretmesine neden olan kodlama veya mantıktaki bir kusurdur. Yazılım hataları, yazılım geliştirme aşamaları sırasında uygulanan testler sayesinde daha erken safhada tespit edilebilir ve düzeltilebilir. Yazılım hata tahmini konularında yapılan çalışmalarda daha çok makine öğrenmesi algoritmalarının ve istatistiksel yöntemlerin kullanıldığı görülmektedir. Bu tez çalışmasında, literatürde raporlanmış makine öğrenmesi algoritmaları ile kıyaslama gerçekleştirilmesi amacıyla NASA (National Aeronautics and Space Administration-Ulusal Havacılık ve Uzay Dairesi) Metrik Veri Programı tarafından oluşturulmuş, PROMISE (Predictor Models in Software Engineering–Yazılım Mühendisliğinde Tahmin Modelleri) deposunda yer alan NASA'ya ait projelerin 4 adet veri seti (JM1, KC1, CM1, PC1) üzerinde WEKA veri madenciliği aracında ve Google Colab ortamında Pyhton dili kullanılarak çeşitli makine öğrenmesi algoritmaları ve istatistiksel yöntemler gerçeklenmiş, performansları her veri seti için doğruluk (accuracy) oranları ve ROC (Reciever Operator Characteristics Curve – Alıcı Operatör Özellikleri Eğrisi) eğrisi altında kalan AUC (Area Under Curve- Eğri Altında Kalan Alan) değerleri ile karşılaştırılmıştır. Ayrıca çeşitli program kodlarından oluşan bir veri setinin metrikleri belirlenmiş, yeni oluşturulan bu veri seti üzerinde yine çeşitli veri madenciliği algoritmaları ile hata tahminlemesi gerçekleştirilmeye çalışılmıştır.