Statements versus predicates in spectral bug localization

Lee Naish
Hua Jie (Jason) Lee
Kotagiri Ramamohanarao

This paper investigates the relationship between the use of predicate-based and statement-based program spectra for bug localization (a paper with the same title appeared in APSEC2010 so the copyright of that version is owned by the IEEE and they may be willing to sell you a copy; the version here is a few minutes older and has and extra footnote, which affects the subsequent formatting, but it is otherwise identical, and free). Branch and path spectra are also considered. Although statement and predicate spectra can be based on the same raw data, the way the data is aggregated results in different information being lost. We propose a simple and cheap modification to the statement-based approach which retains strictly more information. This allows us to compare statement and predicate "metrics" (functions used to rank the statements, predicates or paths). We show that improved bug localization performance is possible using single-bug models and benchmarks.

Keywords: bug localization, program spectra, statements, branches, predicates, paths