摘要
基于程序谱的软件错误定位(spectrum-based fault localization,SBFL)技术收集测试用例结果和语句覆盖信息,用以计算每条语句的可疑度值。认知复杂度是软件复杂性度量工具,其值高的代码较易出错。为提升错误定位性能,提出一种语句级认知复杂度和SBFL相组合的方法对语句排序。当多条语句可疑度值相等时,新方法优先检查认知复杂度高的语句。测试数据集有925个错误版本,包含Java、C和C++项目。实验结果证实,加入认知复杂度后,传统的SBFL技术能减少待排查语句。
-
单位长沙学院; 数学学院