Ölçüt tabanlı yazılım hata kestirim yaklaşımlarının incelenmesi ve yeni bir yazılım hata kestirim önerisi
Abstract
Yazılım projelerinde elde edilen sonucun amacı sadece doğru çalışan bir ürün çıkarmak
değildir. Gerçekleştirilen ve ortaya çıkarılan yazılımın kalitesinin değerlendirilmesi,
ölçülmesi de gerekmektedir. Yazılım ne kadar kaliteli ve hatalardan arındırılmış olursa
bakım onarım sürecinde maliyetler de bir o kadar azalacaktır. Yazılımın kalitesini etkileyen
önemli noktalardan biri yazılımdaki hataların sayısıdır. Bu nedenle, geliştirilen
yazılımlardaki hataların mümkün olduğunca erken belirlenebilmesi oldukça önem
taşımaktadır. Çalışma kapsamında ölçüt tabanlı yazılım hata kestirimi yaklaşımlarından olan
kaynak kod ölçütleri incelenmiş ve yazılım hata sayıları ile yazılım kalite ölçütleri
arasındaki ilişki analiz edilmiştir. Bu amaçla, 25 adet açık kaynak kodlu java programlama
diliyle geliştirilen oyun projesi veri seti olarak kullanılmıştır. Yazılım kalite ölçütlerinin
analizinde "Understand" statik kod analiz aracı kullanılmıştır. Çalışmada projelerin hata
sayılarının belirlenmesinde ise Spotbugs hata tespit aracından yararlanılmıştır. Yazılım
hataları ve yazılım kalite ölçütleri arasındaki ilişkiyi çıkarabilmek için doğrusal regresyon
yöntemi uygulanmıştır. Analiz sonuçlarında çıkan sonucun kestirim doğruluğu birisidışarıda
çapraz doğrulama (Leave one out cross validation - LOOCV) ile yapılmıştır.
Sonuçlar, yazılım hata sayısını tahmin etmek için yazılım kalite ölçütlerinden
faydalanmanın mümkün olduğunu göstermektedir.
The aim of the software project is not only to produce a product that works correctly. It is
also necessary to evaluate the quality of the software performed and to measure the quality.
The more quality and error-free the software, the lower the costs during the maintenance
process. One of the important points affecting the quality of the software is the number of
bugs in the software. For this reason, it is very important to detect bugs in the software
developed at an early stage. In the scope of the study, source code metrics which is one of
the metric based software bug estimation approaches were examined. In the scope of the
study, source code metrics from metric based software bug prediction approaches were
examined and the relationship between software bug numbers and software quality metrics
was analyzed. For this purpose, 25 open source game projects developed with java
programming languages were used as data sets. "Understand" static code analysis tool was
used to analyze software quality metrics. In the study, Spotbugs bug detection tool was used
to determine the bug numbers of the projects. Linear regression method was used to
determine the relationship between software bugs and software quality metrics. The
prediction accuracy of the results obtained from the analysis results was made with leave
one out cross validation. The results show that it is possible to make use of software quality
metrics to estimate the number of software bugs.