Title :
Fault localization with nearest neighbor queries
Author :
Renieres, M. ; Reiss, Steven P.
Author_Institution :
Dept. of Comput. Sci., Brown Univ., Providence, RI, USA
Abstract :
We present a method for performing fault localization using similar program spectra. Our method assumes the existence of a faulty run and a larger number of correct runs. It then selects according to a distance criterion the correct run that most resembles the faulty run, compares the spectra corresponding to these two runs, and produces a report of "suspicious" parts of the program. Our method is widely applicable because it does not require any knowledge of the program input and no more information from the user than a classification of the runs as either "correct" or "faulty". To experimentally validate the viability of the method, we implemented it in a tool, Whither, using basic block profiling spectra. We experimented with two different similarity measures and the Siemens suite of 132 programs with injected bugs. To measure the success of the tool, we developed a generic method for establishing the quality of a report. The method is based on the way an "ideal user" would navigate the program using the report to save effort during debugging. The best results obtained were, on average, above 50%, meaning that our ideal user would avoid looking half of the program.
Keywords :
fault diagnosis; program diagnostics; software quality; software tools; Siemens suite; Whither; block profiling spectra; distance criterion; fault localization; nearest neighbor queries; similar program spectra; Computer bugs; Computer science; Debugging; Electronic mail; Navigation; Nearest neighbor searches; Programming profession; Runtime; Software engineering; Testing;
Conference_Titel :
Automated Software Engineering, 2003. Proceedings. 18th IEEE International Conference on
Print_ISBN :
0-7695-2035-9
DOI :
10.1109/ASE.2003.1240292