国内刊号:43-1258/TP
国际刊号:1007-130X
发布日期:
作者:何海江
单位:长沙学院计算机工程与应用数学学院,湖南 长沙 410022
关键词:软件错误定位,程序谱,变量谱,程序静态属性,排序学习,跨工程,
基金:湖南省科技计划(2015GK3071)
在程序调试过程中,基于程序谱的软件错误定位(SBFL)技术能提供有效的帮助。为改善SBFL的性能,提出一种组合程序谱、代码行静态属性的软件错误定位排序学习方法,由线性排序支持向量机学习最优错误定位模型。代码行静态属性包括局部变量、类属性、逻辑运算符和方法调用等程序实体的个数。在使用C、C++和Java语言开发的22个实际故障项目上,采用跨工程的形式训练错误定位模型。实验结果表明,新方法比最优SBFL减少了37.1%的最坏策略EXAM和22.6%的平均策略EXAM。还比较了程序语句的3类轻量级特征:结构化类别、变量谱和静态属性。新方法的时间复杂度低,能实时地推荐可能出现故障的语句序列。
来源:2022年第12期
《计算机工程与科学》期刊编辑部