SeTCHi: Selecting Test Cases to Improve History-Guided Fault Localization
Long Zhang, Zhenyu Zhang
Abstract
Long Zhang, Zhenyu Zhang
Abstract
Many software failures are caused by faults in programs. Fault localization is always a difficult task in program debugging, and the spectrum-based fault localization (SBFL in short) is a popular approach. A SBFL technique collects code coverage of program runs, and estimates to what extent individual program entities correlate to the failed runs. We have empirically reported that referencing debugging history can effectively alleviate the impact of program structure on the accuracy of SBFL techniques. However, referencing all test cases indistinguishably may have adverse effects. In this paper, we propose a novel technique SeTCHi, which differentiates test cases according to their coverage and test outputs, and refines SBFL with the means to select supporting test cases with respect to program entities and history program versions. We also conduct an empirical study, which shows that SeTCHi can significantly improve the accuracy of fault localization based on state-of-the-art techniques.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Many software failures are caused by faults in programs. Fault localization is always a difficult task in program debugging, and the spectrum-based fault localization (SBFL in short) is a popular approach. A SBFL technique collects code coverage of program runs, and estimates to what extent individual program entities correlate to the failed runs. We have empirically reported that referencing debugging history can effectively alleviate the impact of program structure on the accuracy of SBFL techniques. However, referencing all test cases indistinguishably may have adverse effects. In this paper, we propose a novel technique SeTCHi, which differentiates test cases according to their coverage and test outputs, and refines SBFL with the means to select supporting test cases with respect to program entities and history program versions. We also conduct an empirical study, which shows that SeTCHi can significantly improve the accuracy of fault localization based on state-of-the-art techniques.
Key concepts: Debugging, Computer science, Software bug, Fault (geology), Test (biology), Task (project management), Software, Test case