Taif Üniversitesi, Birzeit Üniversitesi ve RMIT Üniversitesi’ndeki araştırmacılar, mevcut makine öğrenimi tekniklerinin bazı sınırlamalarına değinen yazılım hatası tahmini (SFP) için yeni bir yaklaşım geliştirmiştir. Yaklaşımlarında SFP için bir sınıflandırma aracı olarak kullanılan, katmanlı bir tekrarlayan sinir ağının (L-RNN) performansını artırmak için özellik seçimi (FS) kullanılmaktadır.
Yazılım hatası tahmini (SFP), yeni geliştirilen yazılımdaki hatalara eğilimli modülleri öngörme işlemidir. Yazılım bileşenlerinde arızaların son kullanıcıya teslim edilmeden önce öngörülmesi kilit öneme sahiptir: Bu sorunları daha sonraki aşamalarda tanımlamak ve ele almakla ilgili harcanan zamandan, emekten ve sıkıntılardan tasarruf edilir.
Son yıllarda sinir ağlarının, lojistik regresyon, destek vektör makineleri ve topluluk sınıflandırıcıları gibi makine öğrenme tekniklerinin; SFP ile mücadelede çok etkili olduğu kanıtlanmıştır. Ancak, madencilik yazılımı tarihsel depoları tarafından elde edilebilecek devasa veri havuzu nedeniyle, hatalarla ilgili olmayan özelliklerle karşılaşmak mümkündür. Bu bazen öğrenme algoritmasını yanlış yönlendirebilir, dolayısıyla performansını düşürebilir.
Özellik seçimi (FS), ilgili olmayan özellikleri makine öğrenme algoritmasının performansını etkilemeden ortadan kaldırmak için yardımcı olabilecek bir tekniktir. Makine öğreniminde, özellik seçimi, belirli bir modelde kullanılacak ilgili özelliklerin bir alt kümesinin (yani öngörücüler) seçilmesini gerektirir. FS, verilerin boyutsallığını azaltarak; alakasız ve gereksiz verilerin kaldırılmasına yardımcı olur.
Taif Üniversitesi, Birzeit Üniversitesi ve RMIT Üniversitesi’ndeki araştırma ekibi; SFP için katmanlı tekrarlayan sinir ağının (L-RNN) performansını artırmak için yeni bir FS yaklaşımı önerdi. Araştırmacılar yinelemeli olarak üç farklı sarmalayıcı FS algoritması kullandılar:
-İkili genetik algoritma (BGA)
-İkili parçacık sürüsü optimizasyonu (BPSO)
-İkili karınca kolonisi optimizasyonu (BACO)
Araştırmacılar; yazılım hata tahmin problemini çözmek için katmanlı, tekrarlayan sinir ağına sahip; yinelenen bir özellik seçim algoritması önerdi. Önerilen bu algoritma; farklı özellik seçim algoritmaları kullanarak en önemli yazılım ölçümlerini seçebiliyor. Sınıflandırma işlemi, bir katmanlı tekrarlayan sinir ağı tarafından gerçekleştiriliyor.
Araştırmacılar, PROMISE deposundaki 19 gerçek dünya yazılım projesine dair yaklaşımlarını değerlendirdi ve sonuçlarını Naif Bayes (NB), yapay sinir ağları (YSA), lojistik regresyon (LR), en yakın komşular (k-NN) ve C4.5 karar ağaçları dahil olmak üzere diğer modern yaklaşımlarla elde edilen sonuçlarla karşılaştırdılar. Onların yaklaşımı, mevcut tüm diğer yöntemleri geride bıraktı ve tüm veri kümelerinde ortalama 0.8358 sınıflandırma oranı elde etti.
Araştırmacılar; elde edilen sonuçların, sabit bir özellik kümesi veya tüm özellikleri kullanmak yerine, yüksek kaliteli bir sınıflandırıcı oluşturduğu için özellik seçiminin önemini ifade etmektedirler. Gelecekteki çalışmalar için, seçilen ölçümlere dayalı hataları tahmin edebilecek bir bilgisayar modeli oluşturmak için genetik programlama gibi farklı sınıflandırıcıların performansını araştırmayı planlamaktadırlar.