ELA: An automated statistical fault localization technique
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
Yazılım hatalarını ayıklama yazılım hatalarının yerelleştirilmesi, hataların nedenlerinin bulunması, ve hataların düzeltilmesinin kapsamaktadır. Bu aktivitiler içerisinde, hata yerelleştirme en zor aktivitedir ve elle düzeltme eforu gerektirmektedir. Bu işlemin otomatikleştirilmesi konusunda yapılan farklı çalışmalar olmasına rağmen, bu çalışmaların etkisi hala istenen seviyeye ulaşmamıştır.Bu doktora tezinde, Ela olarak adlandırılan yeni bir hata yerelleştirme metriği, hata yerelleştirme etkinliğini iyileştirmek için üç adet test suit küçültme stratejisi, ifade sıralamayı iyileştirmek için bir etkin sıralama stratejisi içeren bir hata yerelleştirme çerçevesi önerdik. Önerilen metriği ölçmek için Siemens suiti üzerinde deneyler yapıldı. Literatürde kullanılan gider metriğinin yanı sıra dört tekniğin kalitesini ölçmek için ortalama ters sıra metriği de adapte edildi. Söz konusu programların 118 versiyonunun 4'ünde Ela tekniği diğer tekniklerden daha iyi sıralama yeteneğine sahipken kalan 114 versiyondaysa en iyi sıralama yeteneğine sahip tekniklerden birisidir.Eşdeğer testlerin varlığının ifade sıralamada neden olduğu sapmayı etkisizleştirmek için eşdeğer test eleme stratejisi uyguladık. Bu strateji ortalama 99.5% test suit küçültme elde etmektedir. Söz konusu programların 118 versiyonunun 31'inde Ela tekniği diğer tekniklerden daha iyi sıralama yeteneğine sahipken kalan 87 versiyondaysa en iyi sıralama yeteneğine sahip tekniklerden birisidir.Hata yerelleştirme eforunu düşürmek için üç adet test suit küçültme stratejisi önerdik. Bu stratejilerin en iyisi ortalama %34.1 test suit küçültme sağlarken, ortlama gider açısından Jaccard'ta %1.7'e kadar, Tarantula'da %2.46'ya kadar, Ochiai'de %1.01'e kadar, ve Ela'da %0.38'e kadar iyileşme elde etmektedir.İfade sıralamayı iyileştirmek için Yerel Maksimum olarak adlandırılan bir etkin sıralama stratejisi önerdik. Bu strateji ortalama gider açısından Jaccard'ta %10.54, Tarantula'da %10.47, Ochiai'de %10.74, ve Ela'da %10.88 iyileşme elde etmektedir. Software debugging consists of locating software faults, finding their causes, and fixing them. Among all these activities, the fault localization is the most difficult one and requires manual effort. Although there are several studies on automating this process, their effectiveness has not yet reached at a desired level.In this dissertation, we propose a fault localization framework that introduces a new fault localization metric called Ela, three test suite reduction strategies to improve the effectiveness of fault localization, and an effective ranking strategy to improve the ranking of statements. Several experiments are performed on the Siemens suite to evaluate the proposed metric. Besides the expense metric used in fault localization literature, we also adapt the mean reciprocal rank to measure the overall ranking quality of the four techniques. Ela has better ranking than the other techniques in 4 of 118 versions while it is one of the best performing techniques for the remaining 114 versions of the subject programs.We apply an equivalent test elimination strategy to neutralize the bias caused by the existence of the equivalent tests. This strategy achieves on average 99.5% test size reduction. Ela has better ranking than the other techniques in 31 of 118 versions while it is one of the best performing techniques for the remaining 87 versions of the subject programs.We propose three test suite reduction strategies to reduce the effort for the fault localization. The best of these strategies achieves on average 34.1% test size reduction while resulting an improvement up to 1.7 in Jaccard, up to 2.46% in Tarantula, up to 1.01% in Ochiai, and up to 0.38% in Ela in terms of average expense.We propose an effective ranking strategy, called Local Maxima, to improve the ranking of statements. This strategy achieves an improvement 10.54% in Jaccard, 10.47% in Tarantula, 10.74% in Ochiai, and 10.88% in Ela in terms of average expense.
Collections