首页 | 本学科首页   官方微博 | 高级检索  
     

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

关 键 词:软件错误定位  程序谱  变量谱  程序静态属性  排序学习  跨工程
收稿时间:2021-11-25
修稿时间:2022-04-13

A lightweight software fault localizationmethod based on statement complexity
HE Hai-jiang.A lightweight software fault localizationmethod based on statement complexity[J].Computer Engineering & Science,2022,44(12):2187-2195.
Authors:HE Hai-jiang
Affiliation:(College of Computer Engineering and Applied Mathematics,Changsha University,Changsha 410022,China)
Abstract:In the program debugging process, software fault localization (SBFL) technology based on the program spectrum can provide effective help. In order to improve the performance of SBFL, a software fault localization method based on learning to rank is proposed, which combines program spectrum and static attributes of code statements. The optimal fault localization model is learned by the linear ranking support vector machine. The static attributes of code statements include the number of program entities such as local variables, class attributes, logical operators, and method invocations. On 22 actual fault projects developed in C, C++ and Java languages, the fault localization model was trained on the form of cross engineering. Experimental results confirm that the proposed method reduces the worst strategy EXAM by 37.1% and the average strategy EXAM by 22.6% compared with the optimal SBFL. Three types of lightweight features of program statements are also compared: structured categories, variable spectrum and static attributes. The time complexity of the proposed method is low, and it can recommend a sequence of sentences that may fail in real time.
Keywords:software fault localization  program spectrum  variable spectrum  program static attri- bute  learning to rank  cross project  
点击此处可从《计算机工程与科学》浏览原始摘要信息
点击此处可从《计算机工程与科学》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号