首页 | 官方网站   微博 | 高级检索  
     

一种基于谓词分层覆盖矩阵的缺陷定位方法
引用本文:朱润凝,赵逢禹.一种基于谓词分层覆盖矩阵的缺陷定位方法[J].计算机应用研究,2016,33(8).
作者姓名:朱润凝  赵逢禹
作者单位:上海理工大学光电信息与计算机工程学院,上海理工大学光电信息与计算机工程学院
基金项目:国家质检公益性行业科研专项
摘    要:基于程序频谱的动态缺陷定位(spectrum based dynamic fault localization,简称SFL)可分为基于可执行语句覆盖的方法和基于谓词覆盖的方法。通过分析以上两类方法可以发现:(1) 基于可执行语句覆盖的方法未考虑谓词错误和执行结果之间的关联。(2)基于谓词覆盖的方法只针对谓词进行插桩,最后只计算谓词的可疑度并对谓词进行排序。如果缺陷是非谓词,此类方法无法准确定位缺陷位置。(3) 忽略了基本块之间的关联和层次特性,将各个基本块看成相互独立的个体。为解决上述问题,首先,本文将谓词错误与执行结果之间的关联性这一有用信息加入到算法的设计中;其次,加入谓词分层覆盖与分析的思想,对覆盖矩阵中的基本块进行细分和分层;最后,将二者结合,提出一种基于谓词分层覆盖矩阵的缺陷定位方法,提出了谓词分层覆盖算法Phcm。本文将西门子程序集作为目标程序,通过与其他三种缺陷定位方法进行对比实验,验证了该方法在提高缺陷定位的精准度和减小代码检查率上的有效性。

关 键 词:程序频谱  谓词错误  分层覆盖矩阵  缺陷定位
收稿时间:2015/9/10 0:00:00
修稿时间:2016/6/27 0:00:00

Fault localization method based on predicate hierarchical coverage matrix
zhurunning and zhaofengyu.Fault localization method based on predicate hierarchical coverage matrix[J].Application Research of Computers,2016,33(8).
Authors:zhurunning and zhaofengyu
Affiliation:School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and technology,School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and technology
Abstract:Executable statement coverage and predicate coverage are two basic methods for spectrum based dynamic fault localization. By analyzing the above two methods, it is found that: (1) the method based on executable statements does not consider the association between the predicate error and the execution result; (2)the method based on predicate coverage only does instrumentation on predicate, calculate the suspicious score of predicate and do sorting on predicate according to suspicious scores. If the fault is not from a predicate, the method will not locate the fault code statements accurately; (3) both methods ignore the correlation and hierarchical characteristics of the basic statements blocks and each block is treated as an independent entity. To solve the above problems, Firstly, the relationship between predicate error and execution result is added to the algorithm. Secondly, by adding the idea of predicate hierarchical coverage and analysis, the basic blocks in the Coverage Matrix are subdivided and layered. Finally, by combining these two, this paper proposes a fault localization method based on predicate hierarchical coverage matrix, and a fault localization algorithm Phcm is provided. In this paper, the Siemens suite is used as the target program. By comparing with three other fault localization methods, the effectiveness of the proposed method is verified in improving the accuracy of the fault localization and the code checking rate is also decreased.
Keywords:program spectrum  predicate error  hierarchical coverage matrix  fault localization
点击此处可从《计算机应用研究》浏览原始摘要信息
点击此处可从《计算机应用研究》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

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

京公网安备 11010802026262号