期刊文献+

一种基于层次切片谱的软件错误定位技术 被引量:17

Technique of Software Fault Localization Based on Hierarchical Slicing Spectrum
下载PDF
导出
摘要 传统的软件错误定位技术通常利用测试覆盖信息计算程序语句发生错误的可疑度进行软件错误定位,但是这种定位技术没有充分考虑程序本身固有的依赖信息,缺乏语句筛选,从而使错误定位的精度受限.提出了一种基于层次切片谱的错误定位技术,以提高面向对象程序中的错误定位效率.这种技术首先分析程序不同粒度层次元素(包、类、方法以及语句)之间的依赖信息,对可能发生错误的元素进行筛选,缩小错误查找范围;在此基础上,建立了层次切片谱模型,并定义了一种可疑度度量方法;最后根据该可疑度结果从大到小的顺序进行错误定位.通过实验验证了基于层次切片谱的错误定位技术的有效性,且比基于程序谱的Tarantula技术、Union技术、Intersection技术效率更高. A commonly-used software fault localization technique mainly utilizes testing coverage information to calculate the suspiciousness of each program statement to find the faulty statement. However, this technique does not fully take dependences of the program into account; thus, its capacity for precisely locating faults is limited. This paper proposes a more effective hierarchical slicing spectrum-based software fault localization (HSS-SFL) technique for object-oriented programs. HSS-SFL first analyzes the dependence among the elements at different granularity levels including package level, class level, method level and statement level, and deletes some elements which are unrelated to the failed testing outputs. Next, the technique builds the hierarchical slicing spectrum model for these hierarchical slices obtained from the previous step, and further defines a suspiciousness method for each slice element. Finally, the faulty statement is located according to the suspiciousness results. Experimental results on real application programs show that HSS-SFL is more effective to locate the fault than program spectrum-based Tarantula technique, Union technique and Intersection technique.
出处 《软件学报》 EI CSCD 北大核心 2013年第5期977-992,共16页 Journal of Software
基金 国家自然科学基金(60973149 61202006) 高等学校博士学科点专项科研基金(20100092110022) 中国科学院计算机科学国家重点实验室开放基金(SYSKF1110)
关键词 层次切片模型 层次切片谱 可疑度 错误定位 程序谱 hierarchical slicing model hierarchical slicing spectrum suspiciousness fault localization program spectrum
  • 相关文献

参考文献1

二级参考文献15

  • 1Krishnaswamy A. Program slicing: An application of object-oriented program dependence graphs. Technical Report TR94-108, Department of Computer Science,Clemson University, 1994.
  • 2Larsen L, Harrold M J. Slicing object-oriented software.In Proc. 18th International Conference on Software Engineering, 1996, pp.495-505.
  • 3Tip F, Choi J D, Field J, Pamalingham G. Slicing class hierarchies in C++. In Proc. the Eleventh Annual Conference on Object-Orented Programming Systems, Languages, and Applications ( OOPSLA'96), 1996, pp.179-197.
  • 4Steindl C. Intermodular slicing of object-oriented programs. In Proc. International Conference on Compiler Construction (CC'g8), 1998, pp.264-278.
  • 5Zhao J. Dynamic slicing of object-oriented programs.Technical Report SE- g8-119, Information Processing Society of Japan (IPSJ), 1998.
  • 6Li B.An approach for assessing software coupling. In Proc. Third Asian Workshop on Programming Language and Systems, Shanghai, China, 2002.
  • 7Li B. A technique to analyze information-flow in objectoriented programs. Information and Software Technology, 2003, 45(6): 305-314.
  • 8Liang D, Harrold M J. Slicing objects using system dependence graph. In Proc: the 1998 International Conferenee on Software Maintenance, 1998, pp.358-367.
  • 9Li B, Fan X. JATO: Slicing Java program hierarchically.TUGS Techinical Reports, No.416, Finland, 2001.
  • 10Li B. Program slicing techniques and its application in object-oriented software metrics and software test [Dissertation]. Nanjing University, 2000.

共引文献4

同被引文献217

  • 1白文科,杨献春,许满武.一种基于逆向程序流的程序切片算法[J].计算机应用研究,2009,26(3):920-922. 被引量:3
  • 2徐宝文,聂长海,史亮,陈火旺.一种基于组合测试的软件故障调试方法[J].计算机学报,2006,29(1):132-138. 被引量:38
  • 3钟芳挺,刘超,金茂忠.程序动态分析系统中插装方式的改进[J].计算机工程与设计,2007,28(19):4585-4588. 被引量:6
  • 4Zeller A, Hildebrandt R. Simplifying and isolating failure-inducing input[ J]. IEEE Transactions on Software Engi- neering,2002,28 (2) : 183 - 200.
  • 5Cleve H, ZeUer A. Locating causes of program failures [ C ]//Proceedings of International Conference on Software Engineering. St Louis : IEEE Computer Society,2005 : 342 - 351.
  • 6Weiser M. Program slicing[ J]. IEEE Transactions on Soft- ware Engineering. 1984,10 (4) :352 - 357.
  • 7Agrawal H, DeMillo R A, Spafford E H. Debugging with dynamic slicing and backtracking [ J ]. Software-Practice and Experience, 1993,23 (6) :589 - 616.
  • 8Abreu R,Zoeteweij P, Gemund A V. Spectrum-based mul- tiple fault localization [ C ]//Proceedings of the IEEE/ ACM International Conference on Automated Software En- gineering. Auckland: IEEE Computer Society, 2009 : 88 -99.
  • 9Jones J A, Harrold M J, Stasko J. Visualization of test in- formation to assist fault localization [ C ]//Proceedings of the 24th International Conference on Software Engineer- ing. Orlando : ACM ,2002:467 - 477.
  • 10Jones J A,Harrold M J. Empirical evaluation of the taran- tula automatic fault localization technique [ C ]//Proceed- ings of the 20th IEEE/ACM International Conference on Automated Software Engineering. Long Beach: IEEE Com- puter Society,2005:273-282.

引证文献17

二级引证文献77

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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