Evaluating and Improving Fault Localization

@article{Pearson2017EvaluatingAI,
  title={Evaluating and Improving Fault Localization},
  author={Spencer Pearson and Jos{\'e} Campos and Ren{\'e} Just and G. Fraser and Rui Abreu and Michael D. Ernst and D. Pang and Benjamin Keller},
  journal={2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)},
  year={2017},
  pages={609-620}
}
Most fault localization techniques take as input a faulty program, and produce as output a ranked list of suspicious code locations at which the program may be defective. [...] Key Result Several of our novel techniques outperform all existing techniques, notably in terms of ranking defective code in the top-5 or top-10 reports.Expand

Figures, Tables, and Topics from this paper

Transforming programs and tests in tandem for fault localization
  • Xia Li, L. Zhang
  • Computer Science, Engineering
  • Proc. ACM Program. Lang.
  • 2017
TLDR
TraPT, an automated Learning-to-Rank technique to fully explore the obtained mutation information for effective fault localization is proposed, and experimental results show that TraPT localizes 65.12% and 94.52% more bugs within Top-1 than state-of-the-art mutation and spectrum based techniques when using the default setting of LIBSVM. Expand
Improving Software Fault Localization by Combining Spectrum and Mutation
TLDR
A novel approach by combining spectrum and mutation to improve the fault localization accuracy is proposed and the accuracy of the proposed approach outperforms those of the SBFL and MBFL techniques. Expand
Software Fault Localization : Issues and Limitations
Fault localization is the most challenging and tedious activity in program debugging. This activity is vital in maintaining software quality. Existing fault localization techniques assume that aExpand
Evaluating the usage of fault localization in automated program repair: an empirical study
TLDR
This study implements the two strategies and six well-studied fault localization techniques into four state-of-the-art automated program repair tools, and uses SimFix that deploys SFA to successfully repair four extra Defects4J bugs which cannot be repaired by SimFix originally using RFA. Expand
An Empirical Study on the Usage of Fault Localization in Automated Program Repair
TLDR
Empirical research based on the automated repair tool Nopol with the benchmark set of Defects4J suggests that the suspiciousness-first algorithm is not equivalent to the rank- first algorithm and behaves better in parallel repair and patch diversity. Expand
An optimal mutation execution strategy for cost reduction of mutation-based fault localization
TLDR
A dynamic mutation execution strategy (DMES) to prioritize the execution on both mutants and test cases and it is proved that the fault localization accuracy of MBFL with DMES is the same as that of the original MBFL. Expand
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. Expand
MCFL: Improving Fault Localization by Differentiating Missing Code and Other Faults
TLDR
MCFL models the behavior of code omission, embeds code-omission probes into programs to identify potential locations of missing code, captures spectra of program execution, and evaluates the suspiciousness of program entities being related to faults. Expand
Precise Learn-to-Rank Fault Localization Using Dynamic and Static Features of Target Programs
TLDR
A novel learn-to-rank fault localization technique called PRINCE, which uses genetic programming (GP) to combine multiple sets of localization input features that have been studied separately until now and outperforms the state-of-the-art SBFL, MBFL, and learn- to-rank techniques significantly. Expand
Evaluating Automatic Fault Localization Using Markov Processes
TLDR
This paper provides a new evaluation approach using first-order Markov models of debugging processes, which can incorporate multiple additional kinds of information, e.g., about code locality, dependences, or even intuition, based on the expected number of steps a programmer would take through the Markov model before reaching a faulty location. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 53 REFERENCES
Evaluating & improving fault localization techniques
A fault localization technique takes as input a faulty program, and it produces as output a ranked list of suspicious code locations at which the program may be defective. When researchers propose aExpand
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. Expand
The DStar Method for Effective Software Fault Localization
TLDR
A technique named DStar (D*) is proposed which can suggest suspicious locations for fault localization automatically without requiring any prior information on program structure or semantics and is found to be more effective at locating faults than all the other techniques it is compared to. Expand
Metallaxis‐FL: mutation‐based fault localization
TLDR
Results from a controlled experiment show that the use of mutation as a testing technique provides benefits to the fault localization process, and fault localization is significantly improved by using mutation‐based tests instead of block‐based or branch‐based test suites. Expand
Evaluating the Accuracy of Fault Localization Techniques
TLDR
This investigation centers on a new subject program having properties useful for FL experiments, and finds that Tarantula works well on the program, and shows weak support for the assertion that coverage-based test suites help Tarantula to localize faults. Expand
Should I follow this fault localization tool’s output?
TLDR
This work considers an output of a fault localization tool to be effective if the root cause appears in the top 10 most suspicious program elements, and building upon advances in machine learning, learns a discriminative model that is able to predict the effectiveness of a Fault localization tool output. Expand
Using automated program repair for evaluating the effectiveness of fault localization techniques
TLDR
This paper proposes a new research direction of developing AFL techniques from the viewpoint of fully automated debugging including the program repair of automation, for which the activity of AFL is necessary and introduces the NCP score as the evaluation measurement to assess and compare various techniques from this perspective. Expand
Test case purification for improving fault localization
TLDR
The experiments on 1800 faults in six open-source Java programs show that test case purification can effectively improve existing fault localization techniques. Expand
A Crosstab-based Statistical Method for Effective Fault Localization
TLDR
The results suggest that the crosstab-based method is effective in fault localization and performs better (in terms of a smaller percentage of executable statements that have to be examined until the first statement containing the fault is reached) than other methods such as Tarantula. Expand
Lightweight fault-localization using multiple coverage types
TLDR
The empirical results show that the cost of fault localization using combinations of coverage is less than using any individual coverage type and closer to the best case (without knowing in advance which kinds of faults are present), and using inferred data-dependence coverage retains most of the benefits of combinations. Expand
...
1
2
3
4
5
...