期刊文献+

结合用例约简与联合依赖概率建模的错误定位 被引量:6

Automatic Fault Localization Approach Combining Test Case Reduction and Joint Dependency Probabilistic Model
下载PDF
导出
摘要 现有的测试用例约简方法不能有效提高错误定位精度,现有的软件错误定位方法不能充分分析元素间的依赖关系.针对以上问题,提出结合测试用例约简和联合依赖概率建模的软件错误自动定位方法,将测试用例约简与软件错误定位统一为一个整体.不同于一般的测试用例约简方法,所提出的测试用例约简方法在程序执行路径的基础上充分考虑了错误测试用例对错误定位的影响,能够为错误定位提供有效的测试用例,为快速、准确地定位软件错误奠定基础.定义了一种新的统计模型——联合依赖概率模型,充分分析了程序元素间的控制依赖、数据依赖以及语句执行状态,并提出基于联合依赖概率模型的错误自动定位方法.通过计算联合依赖关系的可疑度,对可疑节点进行排序,准确定位错误语句.实验结果表明:与SBI,SOBER,Tarantula,SF和RankCP方法相比,该算法可以更加有效地定位软件错误. The current test case reduction methods can not improve the effectiveness of fault localization, and the current fault localization approaches do not fully analyze the dependency of program elements. To solve these problems, this study proposes an automatic fault localization approach combining test case reduction and joint dependency probabilistic model. Different from the usual test case reduction approach, the failed test cases are fully considered in the proposed test cases reduction method based on execution path in order to provide effective test cases for fast and accurate fault localization. This paper defines a novel statistical model-Joint dependency probabilistic model. In this model, the control dependency and data dependency between program elements, the execution states of each statement are analyzed. An automatic fault localization approach is presented based on joint dependency probabilistic model. It ranks the suspicious statements by calculating the joint dependency suspicion level of the statement. Experimental results show that this approach is more effective than current state-of-art fault-localization methods such as SBI, SOBER, Tarantula, and RankCP.
出处 《软件学报》 EI CSCD 北大核心 2014年第7期1492-1504,共13页 Journal of Software
基金 国家自然科学基金(61173021 61202092) 教育部博士点基金(20112302120052)
关键词 程序分析 错误定位 测试用例约简 程序切片 统计分析 program analysis fault localization test case reduction program slicing statistical analysis
  • 相关文献

参考文献43

  • 1Zhang ZY, Chanb WK, Tsec TH, Yub YT, Hud PF. Non-Parametric statistical fault localization. Journal of Computer and System Sciences, 2011,84:885-905. [doi: 10.1016/j.jss.2010.12.048].
  • 2Jobstmann B, Staberb S, Griesmayerc A, Bloem R. Finding and fixing faults. Journal of Computer and System Sciences, 2012,78: 441-460. [doi: 10.1016/j.jcss.2011.05.005].
  • 3Wong WE, Debroy V, Xu D. Towards better fault localization: A crosstab-based statistical approach. IEEE Trans. on Systems, Man, and Cybernetics, 2012,42(3):378-396. [doi: 10.1109/TSMCC.2011.2118751].
  • 4Yu K, Lin M, Gao Q, Zhang H, Zhang X. Locating faults using multiple spectra-specific models. In: Proc. of the SAC. 2011. [doi: 10.1145/1982185.1982490].
  • 5Abreu R, Zoeteweij P, van Gemund AJC. On the accuracy of spectrum-based fault localization. In: Proc. of the Testing: Academic and Industrial Conf., Practice and Research Techniques. Windsor, 2007. [doi: 10.1109/TAlC.PART.2007.13].
  • 6Baudry 13, Eleurey F, Traon YL. Improving test suites for efficient fault localization. In: Proc. of the lnt'l Conf. on Software Engineering. Shanghai, 2006.82-91. [doi: 10.1145/1134285.1134299].
  • 7Zhang X, Gu Q, Chen X, Qi J, Chen D. A study of relative redundancy in test-suite reduction while retaining or improving fault- localization effectiveness. In: Proc. of the SAC. 2010. 2229-2236. [doi: 10.1145/1774088.1774556].
  • 8Chen Z, Xu B, Zhang X, Xie C. A novel approach for test suite reduction based on requirement relation contraction. In: Proc. of the SAC. 2008. 390-394. [doi: 10.1145/1363686.1363782].
  • 9Renieris M, Reiss SE. Fault localization with nearest neighbor queries. In: Proc. of the 18th Int'l Conf. on Automated Software Engineering (ASE 2003). Montreal, 2003.30-39. [doi: 10.1109/ASE.2003.1240292].
  • 10Wang T, Abhik R. Automated path generation for software fault localization. In: Proc. of the 20th IEEE/ACM lnt'l Conf. on Automated Software Engineering. New York, 2005. 347-35l. [doi: 10.1145/1101908.1101966].

同被引文献36

引证文献6

二级引证文献24

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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