Software bug prediction is the process of utilizing
classification and/or regression algorithms to predict the presence of possible
errors (or defects) in a source code. However, current classification studies
in the literature assume that the target attribute values in the datasets are
binary (i.e. buggy or non-buggy) or unordered, so they lose inherent order
between the class values such as zero, less and more bug levels. To overcome
this drawback, this study proposes a novel approach which suggests ordinal
classification methods as a solution for software bug prediction problem. This
article compares ordinal and nominal versions of various classification
algorithms (random forest, support vector machine, Naive Bayes and k-nearest
neighbor) in terms of classification performance on real-world 38 software
engineering datasets. The results indicate that ordinal classification approach
achieves better classification accuracy on average than the traditional
(nominal) solutions.
Software bug prediction Ordinal classification Software engineering Software quality
Yazılım
hata tahmini, kaynak kodda bulunan olası hataların (veya kusurların) varlığını
tahmin etmek için sınıflandırma ve/veya regresyon algoritmalarının kullanımı
işlemidir. Fakat, literatürde bulunan sınıflandırma çalışmaları, veri
setlerindeki hedef özellik değerlerini iki olasılıklı (hatalı veya hatasız)
veya sırasız olarak kabul etmektedir. Bu nedenle; sıfır, az veya çok hatalı
gibi sınıf değerleri arasındaki sıralama mantığını değerlendirmemektedir. Bu
eksikliği gidermek amacıyla, bu çalışma, yazılım hata tahminleme problemi için
sıralı sınıflandırma metotlarını kullanan yeni bir yaklaşım önermektedir.
Makalede, çeşitli sınıflandırma algoritmalarının (rastgele orman, destek vektör
makineleri, Naive Bayes ve k-en yakın komşu) sıralı ve itibari sürümleri,
yazılım mühendisliği alanındaki 38 gerçek veriseti üzerinde sınıflandırma
performansları açısından karşılaştırılmıştır. Sonuçlar, sıralı sınıflandırma
yaklaşımının geleneksel (itibari) çözümlere nispeten ortalamada daha iyi bir
sınıflandırma doğruluğuna ulaştığını göstermektedir.
Yazılım hata tahmini Sıralı sınıflandırma Yazılım mühendisliği Yazılım kalitesi
Birincil Dil | İngilizce |
---|---|
Konular | Mühendislik |
Bölüm | Makaleler |
Yazarlar | |
Yayımlanma Tarihi | 21 Mayıs 2019 |
Yayımlandığı Sayı | Yıl 2019 Cilt: 21 Sayı: 62 |
Dokuz Eylül Üniversitesi, Mühendislik Fakültesi Dekanlığı Tınaztepe Yerleşkesi, Adatepe Mah. Doğuş Cad. No: 207-I / 35390 Buca-İZMİR.