摘要
故障定位是调试过程中一项耗时费力的工作。为了降低调试成本,并辅助开发人员定位和修复软件故障,软件故障定位技术通过审查源代码、分析测试过程的软件行为和测试结果来定位包含故障的代码片段。综述了近期故障定位领域相关成就,分类介绍了各种代表性的故障定位方法的基本原理和建模技术,讨论了这些故障定位技术的贡献以及它们之间的主要区别,给出了常用的故障定位效果基准测试集和度量方法,展望了故障定位技术的研究方向。
Fault localization is a kind of time consuming and labor intensive work during debugging. To reduce the cost of debugging and assist the developers to locate and repair program faults, fault localization techniques navigate the fault program fragments by examining the source code and analyzing software behavior and test results. This paper reviews the recent achievements in the field of fault localization. And then, for many representative methods of fault localization, it gives a detail analysis by categories of their basic principles and the modeling methods. It also discusses the contribution of each work and the major difference between them, and presents some commonly-used evaluation benchmarks and metrics. Finally, it concludes the future research consideration of fault localization techniques.
出处
《计算机科学与探索》
CSCD
2012年第6期481-494,共14页
Journal of Frontiers of Computer Science and Technology
基金
国家自然科学基金Nos.90818021
60970032
61100047
江苏省自然科学基金No.BK2008124
江苏省研究生培养创新工程项目No.CX10B_157Z~~
关键词
程序分析
软件调试
故障诊断
故障定位
定位度量
program analysis
software debugging
fault diagnosis
fault localization
localization metrics