计算机科学与探索 ›› 2012, Vol. 6 ›› Issue (6): 481-494.DOI: 10.3778/j.issn.1673-9418.2012.06.001

• 综述·探索 • 上一篇    下一篇

软件故障定位技术进展

鞠小林1,2,3+,姜淑娟1,张艳梅1,董国伟2   

  1. 1. 中国矿业大学 计算机科学与技术学院,江苏 徐州 221116
    2. 中国信息安全测评中心,北京 100085
    3. 南通大学 计算机科学与技术学院,江苏 南通 226019
  • 出版日期:2012-06-01 发布日期:2012-06-01

Advances in Fault Localization Techniques

JU Xiaolin1,2,3+, JIANG Shujuan1, ZHANG Yanmei1, DONG Guowei2   

  1. 1. School of Computer Science and Technology, China University of Mining and Technology, Xuzhou, Jiangsu 221116, China
    2. China Information Technology Security Evaluation Center, Beijing 100085, China
    3. School of Computer Science and Technology, Nantong University, Nantong, Jiangsu 226019, China
  • Online:2012-06-01 Published:2012-06-01

摘要: 故障定位是调试过程中一项耗时费力的工作。为了降低调试成本,并辅助开发人员定位和修复软件故障,软件故障定位技术通过审查源代码、分析测试过程的软件行为和测试结果来定位包含故障的代码片段。综述了近期故障定位领域相关成就,分类介绍了各种代表性的故障定位方法的基本原理和建模技术,讨论了这些故障定位技术的贡献以及它们之间的主要区别,给出了常用的故障定位效果基准测试集和度量方法,展望了故障定位技术的研究方向。

关键词: 程序分析, 软件调试, 故障诊断, 故障定位, 定位度量

Abstract: 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.

Key words: program analysis, software debugging, fault diagnosis, fault localization, localization metrics