Test Case Purification for Improving Fault Localization
Jifeng Xuan (INRIA Lille - Nord Europe), Martin Monperrus (INRIA Lille, - Nord Europe)

TL;DR
This paper introduces spectrum-driven test case purification, which refines test cases and enhances oracles to significantly improve fault localization accuracy in software debugging.
Contribution
It proposes a novel test case purification method that improves fault localization by splitting test cases and strengthening oracles, enhancing existing techniques like Tarantula.
Findings
Improves fault localization accuracy across multiple open-source projects.
Effectively refines test cases to better identify faulty code.
Enhances existing fault localization techniques with test case purification.
Abstract
Finding and fixing bugs are time-consuming activities in software development. Spectrum-based fault localization aims to identify the faulty position in source code based on the execution trace of test cases. Failing test cases and their assertions form test oracles for the failing behavior of the system under analysis. In this paper, we propose a novel concept of spectrum driven test case purification for improving fault localization. The goal of test case purification is to separate existing test cases into small fractions (called purified test cases) and to enhance the test oracles to further localize faults. Combining with an original fault localization technique (e.g., Tarantula), test case purification results in better ranking the program statements. Our experiments on 1800 faults in six open-source Java programs show that test case purification can effectively improve existing…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
