Test case purification for improving fault localization

@article{Xuan2014TestCP,
  title={Test case purification for improving fault localization},
  author={J. Xuan and Monperrus Martin},
  journal={Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
  year={2014}
}
  • J. Xuan, Monperrus Martin
  • Published 10 September 2014
  • Computer Science
  • Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
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… 

Figures and Tables from this paper

Fault Localization Guided Execution Comparison for Failure Comprehension
TLDR
This paper intends to integrate the result of fault localization to characterize the ability of revealing fault of test cases and provide two test case selection strategies, which will assist the programmers with understanding the fault more pointedly.
Effective Lightweight Software Fault Localization based on Test Suite Optimization
TLDR
The test suite optimization approach used in this paper significantly improves fault localization performance, as demonstrated by the experiments.
IPSETFUL: an iterative process of selecting test cases for effective fault localization by exploring concept lattice of program spectra
TLDR
The results show that IPSETFUL can help identify most of the faults in the program with the given test suite and can save much effort in inspecting unfaulty program statements compared with the existing spectrum based fault localization techniques and the relevant state of the art technique.
Reduce Before You Localize: Delta-Debugging and Spectrum-Based Fault Localization
TLDR
It is shown that for programs and faults taken from the standard localization literature, a large case study of Mozilla's JavaScript engine using 10 real faults, and mutants of various open-source projects, localizing only after reduction often produces much better rankings for faults than localization without reduction, independent of the localization formula used.
FTMES: A Failed-Test-Oriented Mutant Execution Strategy for Mutation-Based Fault Localization
TLDR
This work proposes a novel mutation execution strategy named Failed-Test Oriented Mutant Execution Strategy (FTMES) for improving the efficacy of fault localization techniques and also reduce the computational cost of these techniques.
FTMES: A Failed-Test-Oriented Mutant Execution Strategy for Mutation-Based Fault Localization
TLDR
This work proposes a novel mutation execution strategy named Failed-Test Oriented Mutant Execution Strategy (FTMES) for improving the efficacy of fault localization techniques and also reduce the computational cost of these techniques.
Using mutants to help developers distinguish and debug (compiler) faults
TLDR
The approach, although devised for compilers, is applicable as a conservative fault localization algorithm for other types of programs and can help triage certain types of crashes found in fuzzing non‐compiler programs more effectively than a state‐of‐the‐art technique.
Evaluating and Improving Fault Localization
TLDR
A design space is identified that includes many previously-studied fault localization techniques as well as hundreds of new techniques, and which factors in the design space are most important, using an overall set of 395 real faults.
An Approach to Generate Effective Fault Localization Methods for Programs
TLDR
It is believed that program characteristics can be helpful at finding the right ranking metrics for programs, and they can assist at combining several existing ones to produce a customized ranking metric specific to a given program.
...
...

References

SHOWING 1-10 OF 40 REFERENCES
Diversity maximization speedup for fault localization
TLDR
A novel test case selection strategy based on Diversity Maximization Speedup (DMS), which orders a set of unlabeled test cases in a way that maximizes the effectiveness of a fault localization technique and can help existing fault localization techniques reduce their debugging cost.
Test input reduction for result inspection to facilitate fault localization
TLDR
This work proposes three strategies to reduce the test inputs in an existing test collection for result inspection and shows that this approach can help developers inspect a smaller subset of test inputs, whose fault-localization effectiveness is close to that of the whole test collection.
Directed test generation for effective fault localization
TLDR
A new, "directed" test-generation technique, which aims to maximize the similarity between the path constraints of the generated tests and those of faulty executions, reaches this level of effectiveness with much smaller test suites, when compared to test generation based on standard concolic execution techniques.
Ask the Mutants: Mutating Faulty Programs for Fault Localization
TLDR
A new evaluation metric for fault localization techniques based on information theory, called Locality Information Loss (LIL), which can measure the aptitude of a localization technique for automated fault repair systems as well as human debuggers is proposed.
GZoltar: an eclipse plug-in for testing and debugging
TLDR
A toolset for automatic testing and fault localization, dubbed GZoltar, which hosts techniques for (regression) test suite minimization and automatic fault diagnosis (namely, spectrum-based fault localization).
Will Fault Localization Work for These Failures? An Automated Approach to Predict Effectiveness of Fault Localization Tools
  • T. B. Le, D. Lo
  • Computer Science
    2013 IEEE International Conference on Software Maintenance
  • 2013
TLDR
An oracle is built that could predict whether the output of a fault localization tool can be trusted or not, and is considered to be effective if the root cause appears in the top 10 most suspicious program elements.
Improving test suites for efficient fault localization
TLDR
The dilemma between a reduced testing effort and the diagnosis accuracy is partly solved by selecting test cases that are dedicated to diagnosis, and a test-for-diagnosis criterion is proposed and validated through rigorous case studies.
Prioritizing test cases for regression testing
Test case prioritization techniques schedule test cases in an order that increases their effectiveness in meeting some performance goal. One performance goal, rate of fault detection, is a measure of
Automatic repair of buggy if conditions and missing preconditions with SMT
TLDR
Nopol repairs object oriented code and allows the patches to contain nullness checks as well as specific method calls.
Injecting mechanical faults to localize developer faults for evolving software
TLDR
The experimental results show that FIFL is able to outperform the state-of-the-art FaultTracer technique for localizing failure-inducing program edits significantly.
...
...