Thesis Type: Doctorate
Institution Of The Thesis: Orta Doğu Teknik Üniversitesi, Graduate School of Informatics, Information Systems, Turkey
Approval Date: 2015
Student: ÖZKAN BAYRAKTAR
Consultant: AYSU BETİN CANAbstract:
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.