Removing Coincidental Correctness in Spectrum-Based Fault Localization for Circuit and Spreadsheet Debugging
Birgit Hofer · 2017
Spectrum-based fault localization (SBFL) has a wide area of application, ranging from debugging circuits over Java programs to spreadsheets. While SBFL has a low computational complexity and is easy to apply, its results are sometimes imprecise. In this paper, we address one of the reasons for the impreciseness, namely coincidental correctness. Coincidental correctness occurs when a program computes the correct result even though a faulty statement has been executed. We propose a technique which identifies potential coincidentally correct outcomes in circuits and spreadsheets. Our empirical evaluation shows that the removal of the actual coincidentally correct outcomes often positively influences the ranking of the faulty component(s). Furthermore, the evaluation shows that the proposed approach is well suited for identifying potential coincidentally correct outcomes in spreadsheets, but not in circuits.