Spectral debugging: How much better can we do?
Lee Naish
Hua Jie (Jason) Lee
Kotagiri Ramamohanarao
Spectral debugging uses execution profiles from passed and failed
tests to rank statements according to how likely they are to be buggy.
Typically a function (or metric) is applied to the number passed and
failed tests which do/don't execute each statement, and the result is
used to rank the satatements. Many different metrics have been used.
In this paper we investigate how much better we can potentially do by
using better ranking metrics. We strengthen previous results concerning
optimality of some metrics for certain single bug programs and consider
multiple bug programs. We also show how metrics which perform well for
multiple bug programs can be adapted so they are optimal in the single
bug case.
Keywords:
debugging, bug localization, program spectra
Lee