[关键词]
[摘要]
现有的测试用例约简方法不能有效提高错误定位精度,现有的软件错误定位方法不能充分分析元素间的依赖关系.针对以上问题,提出结合测试用例约简和联合依赖概率建模的软件错误自动定位方法,将测试用例约简与软件错误定位统一为一个整体.不同于一般的测试用例约简方法,所提出的测试用例约简方法在程序执行路径的基础上充分考虑了错误测试用例对错误定位的影响,能够为错误定位提供有效的测试用例,为快速、准确地定位软件错误奠定基础.定义了一种新的统计模型——联合依赖概率模型,充分分析了程序元素间的控制依赖、数据依赖以及语句执行状态,并提出基于联合依赖概率模型的错误自动定位方法.通过计算联合依赖关系的可疑度,对可疑节点进行排序,准确定位错误语句.实验结果表明:与SBI,SOBER,Tarantula,SF和RankCP方法相比,该算法可以更加有效地定位软件错误.
[Key word]
[Abstract]
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.
[中图分类号]
[基金项目]
国家自然科学基金(61173021,61202092);教育部博士点基金(20112302120052)