期刊文献+

一种基于程序变异的软件错误定位技术 被引量:13

A Software Fault Localization Technique Based on Program Mutations
下载PDF
导出
摘要 发现软件不能正常运行后,如何定位错误代码在程序中的位置是软件开发一个众所周知的难点.最近许多软件自动调试技术通过分析成功和失败测试用例的覆盖信息辅助程序员定位错误代码,但这些技术的准确率会受到偶然性成功测试用例的影响.偶然性成功测试用例执行了错误代码,但却没有引发失败的测试结果.研究表明这种测试用例在实际测试中广泛存在,而它们的存在会显著降低错误定位的准确率.针对此问题,文中提出一种称为Muffler的技术.Muffler使用程序变异分析来修正错误代码定位结果,以提高定位的准确率.文中利用8个在错误代码定位研究领域广泛使用的基准程序验证了Muffler的有效性.实验结果表明,与传统错误代码定位技术相比,Muffler能减少程序员50.26%的错误定位代价. Recent fault localization techniques leverage program coverage of both passed test runs and failed test runs to reduce the high cost of debugging. The effectiveness of such techniques can be adversely affected by coincidental correctness, which occurs in a passed test run when a fault has been executed but no failure is detected. Studies have shown that coincidental correctness is a com- mon phenomenon and its occurrence can significantly reduce the effectiveness of fault localization. In this paper, a fault localization technique named Muffler is proposed, which uses mutation analysis to address this problem and improve fault localization. Muffler systematically mutates statements in a faulty program and estimates their likelihood of being faulty based on both coverage and how muta tion affects the outcome of passed test cases. Experiments on eight benchmark programs widely used in fault localization are conducted to evaluate our method. Results indicate that Muffler can help programmers locate faults effectively with a reduction of 50.26 ~ in code examination effort.
出处 《计算机学报》 EI CSCD 北大核心 2013年第11期2236-2244,共9页 Chinese Journal of Computers
基金 国家自然科学基金(6103027) 中山大学中央高校基本科研业务费专项资金(10LGZD05,1LGPY39) 香港研究资助局项目(61210) 国家科技重大专项经费(2012ZX01039-004)资助~~
关键词 软件调试 错误定位 程序变异分析 软件工程 software debugging fault localization program mutation analysis software engineering
  • 相关文献

参考文献29

  • 1Chen M Y, Kiclman E, Fratkin E, et al. Pinpoint: Problem determination in large, dynamic Internet services//Proceed- ings of the 2002 International Conference on Dependable Systems and Networks(DSN'02). Bethesda, USA, 2002: 595-604.
  • 2Jones J A, Harrold M J, Stasko J. Visualization of test information to assist fault loealization//Proeeedings of the 24th International Conferenee on Software Engineering (ICSE'02). Orlando, USA, 2002:467-477.
  • 3Abreu R, Zoeteweij P, van Gemund A J C. On the accuracy of spectrum-based fault localization//Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques-MUTATION. Cumberland Lodge, UK, 2007:89-98.
  • 4Wong W E, Qi Yu, Zhao Lei, Cai Kai-Yuan. Effective fault localization using code coverage//Proceedings of the 31st Annual International Computer Software and Applications Conference (COMPSAC'07). Beijing, China, 2007, 1: 449- 456.
  • 5Masri W, Abou-Assi R, EI-Ghali M, A1-Fatairi N. An empirical study of the factors that reduce the effectiveness of coverage-based fault localization//Proceedings of the 2nd International Workshop on Defects in Large Software Systems: Held in Conjunction with the ACM SIGSOFTInternational Symposium on Software Testing and Analysis (ISSTA 2009) (DEFECTS'09). Chicago, USA, 2009:1-5.
  • 6Acree A T. On mutation [Ph. D. dissertation]. Georgia Institute of Technology, Atlanta, USA, 1980: 184.
  • 7Jones J A, Harrold M J. Empirical evaluation of the tarantula automatic fault-localization teehnique//Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE'05). Long Beach, USA, 2005: 273-282.
  • 8Masri W. Fault localization based on information flow coverage. Software Testing, Verification and Reliability, 2010, 20(2): 121-147.
  • 9Santelices R, Jones J A, Yu Y, Harrold M J. Lightweight fault-localization using multiple coverage types//Proceedings of the 31st International Conference on Software Engineering (ICSE'09), Vancouver, Canada, 2009: 56-66.
  • 10Baudry B, Fleurey F, Traon Y L. Improving test suites for effieient fault localization//Proeeedings of the 28th Interna- tional Conference on Software Engineering (ICSE ' 06 ). Shanghai, China, 2006:82-91.

同被引文献164

  • 1徐宝文,聂长海,史亮,陈火旺.一种基于组合测试的软件故障调试方法[J].计算机学报,2006,29(1):132-138. 被引量:38
  • 2陈友,程学旗,李洋,戴磊.基于特征选择的轻量级入侵检测系统[J].软件学报,2007,18(7):1639-1651. 被引量:78
  • 3Zeller A. Why Programs Fail: A Guide to Systematic Debugging. 2nd Edition. Amsterdam, Holland: Elsevier, 2009.
  • 4Jones J A, Harrold M J, Stasko J. Visualization of test information to assist fault localization//Proceedings of the 24th International Conference on Software Engineering. Florida, USA, 2002:467-477.
  • 5Renieres M, Reiss S P. Fault localization with nearest neighbor queries//Proceedings of 18th IEEE International Conference on the Automated Software Engineering. Montreal, Canada, 2003, 30-39.
  • 6Lihlit B, Aiken A, Zheng A X, et al. Bug isolation via remote program sampling//Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implemen- tation. San Diego, USA, 2003:141-154.
  • 7Jones J A. Fault localization using visualization of test information//Proceedings of the 26th IEEE International Conference on Software Engineering. Scotland, UK, 2004, 54-56.
  • 8Liu C, Yan X, Fei L, et al. SOBER: Statistical model-based bug localization//Proceedings of the 10th European Software Engineering Conference Held Jointly with ]3th ACM SIGSOFT International Symposium on Foundations of Software Engineering. Lisbon, Portugal, 2005: 286-295.
  • 9Libllt B, Naik M, Zheng A X, et al. Scalable statistical bug isolation//Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation. Chicago, USA, 2005:15-26.
  • 10Jones J A, Harrold M J. Empirical evaluation of the tarantula automatic fault-localization technique//Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering. Long Beach, USA, 2005:273-282.

引证文献13

二级引证文献96

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部