Chrome Extension
WeChat Mini Program
Use on ChatGLM

Evaluating and Improving Fault Localization

2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)(2017)

U Washington | Univ Sheffield | U Massachusetts | Palo Alto Res Ctr

Cited 507|Views509
Abstract
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. When researchers propose a new fault localization technique, they typically evaluate it on programs with known faults. The technique is scored based on where in its output list the defective code appears. This enables the comparison of multiple fault localization techniques to determine which one is better. Previous research has evaluated fault localization techniques using artificial faults, generated either by mutation tools or manually. In other words, previous research has determined which fault localization techniques are best at finding artificial faults. However, it is not known which fault localization techniques are best at finding real faults. It is not obvious that the answer is the same, given previous work showing that artificial faults have both similarities to and differences from real faults. We performed a replication study to evaluate 10 claims in the literature that compared fault localization techniques (from the spectrum-based and mutation-based families). We used 2995 artificial faults in 6 real-world programs. Our results support 7 of the previous claims as statistically significant, but only 3 as having non-negligible effect sizes. Then, we evaluated the same 10 claims, using 310 real faults from the 6 programs. Every previous result was refuted or was statistically and practically insignificant. Our experiments show that artificial faults are not useful for predicting which fault localization techniques perform best on real faults. In light of these results, we identified a design space that includes many previously-studied fault localization techniques as well as hundreds of new techniques. We experimentally determined which factors in the design space are most important, using an overall set of 395 real faults. Then, we extended this design space with new techniques. Several of our novel techniques outperform all existing techniques, notably in terms of ranking defective code in the top-5 or top-10 reports.
More
Translated text
Key words
fault localization techniques,faulty program,suspicious code locations,defective code,replication study,spectrum-based families,mutation-based families,design space
PDF
Bibtex
AI Read Science
Must-Reading Tree
Example
Using MRT to find the research sequence of this paper
Related Papers
Wendy W. Peng,Dolores R. Wallace
1994

被引用124 | 浏览

JiaYue, HarmanMark
IEEE Transactions on Software Engineering 2011

被引用902 | 浏览

Nimit Singhania
2012

被引用496 | 浏览

Data Disclaimer
The page data are from open Internet sources, cooperative publishers and automatic analysis results through AI technology. We do not make any commitments and guarantees for the validity, accuracy, correctness, reliability, completeness and timeliness of the page data. If you have any questions, please contact us by email: report@aminer.cn
Chat Paper

要点】:论文评估和改进了故障定位技术,对比了基于谱和方法的故障定位技术在真实和人工故障上的表现,发现人工故障无法准确预测真实故障下的表现,进而扩展了设计空间并提出了新的技术。

方法】:通过复制研究评估了10个比较故障定位技术的文献中的主张,使用6个真实世界程序中的2995个人工故障和310个真实故障。

实验】:实验结果显示,基于人工故障的评估无法预测真实故障下的故障定位技术表现,研究扩展了设计空间并实验确定了设计空间中最重要的因素,最后提出的新技术在排名故障代码方面显著优于现有技术。