Software quality prediction models: A comparative investigation based on machine learning techniques for object-oriented systems

dc.contributor.advisorErçelebi Ayyıldız, Tülin
dc.contributor.authorİlhan, Özcan
dc.date.accessioned2021-12-08T09:46:44Z
dc.date.available2021-12-08T09:46:44Z
dc.date.issued2020
dc.description.abstractThe purpose of this thesis study is investigating correlation between Chidamber and Kemerer (CK) Object-Oriented (OO) software metrics and determining the accuracy rate in software bug prediction. For this reason, eleven most frequently used Machine Learning (ML) techniques and two Support Vector Machine (SVM) libraries performance was analyzed in order to find the best technique for 33 latest version of open source projects. In this thesis study, the relation between CK metrics and reliability is also determined. Each technique was evaluated using RapidMiner and WEKA tools. Dataset was validated with a 10-fold cross-validation technique. Furthermore, Bayesian belief’s networks form used for determining which CK metric are primary estimators. Receiver Operating characteristic (ROC), Precision, Accuracy, Area Under the Curve (AUC), Mean Absolute Error (MAE), Root Mean Squared Error (RMSE) performance metrics used for evaluation of results. Results of this study show that Random Forrest, Bagging, AdaBoost ML techniques are the most effective for prediction models in terms of AUC values. In contrast, SVMs are the least effective models. This thesis study also revealed that Weighted Methods per class (WMC) is the most effective software metric. Then, the Number of Children (NOC), Depth of Inheritance Tree (DIT) metrics are good contributor for determining the quality of software. Bu tez çalışmasının amacı, Chidamber ve Kemerer (CK) Nesne Yönelimli yazılım metrikleri arasındaki ilişkiyi araştırmak ve yazılım hata tahmininde doğruluk oranını belirlemektir. Bu nedenle, açık kaynaklı 33 projenin en son sürümleri için en iyi tekniği bulmak amacıyla en sık kullanılan 11 Makine Öğrenimi tekniği ve 2 Destek Vektör Makinesi kütüphanesinin performansı analiz edilmiştir. Bu tez çalışmasında, CK ölçütleri ile güvenirlik arasındaki ilişki de belirlenmiştir. Her teknik RapidMiner ve WEKA araçları kullanılarak değerlendirilmiştir. Veri kümesi, 10 kat çapraz doğrulama tekniği ile doğrulanmıştır. Ayrıca, Bayesian ağları, hangi CK metriğinin en iyi tahmin edici olduğunu belirlemek için kullanılan formlardır. Sonuçların değerlendirilmesi için Alıcı İşletim Karakteristiği, Kesinlik, Doğruluk, Eğri Altında Kalan Alan, Ortalama Mutlak Hata, Ortalama Hata Kare Kökü performans ölçütleri kullanılmıştır. Bu çalışmanın sonuçları, Rastgele Orman, Torbalama, Arttırma makine öğrenmesi tekniklerinin tahmin modelleri için en etkili olduğunu göstermektedir. Buna tersine, Destek Vektör Makineleri en az etkili modellerdir. Bu tez çalışması ayrıca, Sınıfın Ağırlıklı Metot Sayısının en etkili yazılım metriği olduğunu ortaya çıkarmıştır. Daha sonra, Alt Sınıf Sayısı, Kalıtım Ağacının Derinliği ölçümleri yazılımın kalitesini belirlemede iyi bir katkı sağlar.en_US
dc.identifier.urihttp://hdl.handle.net/11727/6723
dc.language.isoengen_US
dc.publisherBaşkent Üniversitesi Fen Bilimleri Enstitüsüen_US
dc.rightsinfo:eu-repo/semantics/openAccessen_US
dc.subjectMachine Learningen_US
dc.subjectObject-Oriented Metricsen_US
dc.subjectSoftware Reliabilityen_US
dc.subjectSoftware Quality Metricsen_US
dc.subjectBug Predictionen_US
dc.titleSoftware quality prediction models: A comparative investigation based on machine learning techniques for object-oriented systemsen_US
dc.typeMaster Thesisen_US

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
10355805.pdf
Size:
3.77 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: