SESep 10, 2014

Test Case Purification for Improving Fault Localization

arXiv:1409.3176v1170 citationsHas Code
Originality Incremental advance
AI Analysis

This work addresses the time-consuming task of bug fixing for software developers, though it appears incremental as it builds upon existing fault localization techniques.

The paper tackles the problem of improving fault localization in software development by introducing test case purification, which separates test cases into smaller fractions to enhance test oracles, resulting in better ranking of program statements when combined with techniques like Tarantula, as shown by experiments on 1800 faults in six open-source Java programs.

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 fault localization techniques.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes