知网查重样例论文–错误定位评价标准概述

知网查重样例论文--错误定位评价标准概述

(1) 实验程序选择

西门子测试套件(Siemens Suite)最早是为了研究数据流和控制流的准则对于错误探测能力的影响而创建的。它包含7组实现不同功能的C语言程序,每组程序通过人工注入的方式创建了基本程序的错误版本v1到vn,这些错误的注入方式通常为修改程序中的一行代码,其中包括语句的增删、变量赋值的修改以及判断条件的修改等,以模拟实际中可能存在的错误.最终对于每个基本程序产生了6到42个不同的错误版本,每个版本中至少包含有1个错误。Siemens Suite自从2003年被引入用于评价NNQ法的有效性后,被广泛采用以评估错误定位技术的有效性。本文实验对象包括Siemens测试程序中的部分程序的不同版本,这些版本是根据c程序改写成java。

(2) 错误定位技术的评价标准

1、基于程序依赖图的评价标准,T-score。假设测试人员根据错误定位报告从报告中包含的语句开始,沿着程序数据依赖或者控制依赖关系,向下对源程序进行深度优先的搜索,理想的场景是用户看到了出错语句后就会识别出程序错误并停止检查源代码(只包含单个错误的程序),错误定位技术的有效性度量即定义为用户找到出错语句时,未被用户检查的代码占所有代码的百分比。比值越高,表明错误定位技术越有效,对于用户精确定位错误越有帮助。而在包含多个错误的程序中,每次当找到第一个错误的时候,都要先修正这个错误,然后再从头开始进行错误定位,重新生成报告。由于多个错误的错误定位技术更为复杂,本文默认情况下,所有的出错程序都只包含一个错误。

2、基于语句排名的评价标准。比如在Tarantula公式为可疑度计算公式的条件下,产生一个对所有可疑度语句怀疑度的排名,开发人员根据排序后的可疑度语句列表,从可疑度最大的语句开始从大到小逐句地检查直到错误被发现,未被检查到的语句占所有待检查语句的百分比称为错误定位技术的得分。得分越高错误定位效果越好。此种方法根据公式的选取不同而不同。

3、基于基本块排名的评价标准。基本块是一段连续的代码,它只有一个入口和一个出口,一个基本块里面的语句要么都执行要么都不执行。在找到出错的基本块前,需要检查多少基本块,方法和上述基于语句排名类似。但在具体操作细节上,他们定义需要检查的基本块的数目为基本块数,就是所有比出错基本块怀疑度大的和不低于出错基本块怀疑度的基本块数目的和的一半,然后使用未被检查的基本块数占所有基本块的百分比来定义错误定位技术的得分。

4、基于谓词排名的评价标准,P-score。对于以谓词可疑度降序排列形式给出的错误报告,首先选取程序中和出错语句最接近的谓词为出错最相关谓词,再给出出错相关谓词的报告,然后定义错误定位技术的得分为检查到出错最相关谓词时,已检查的出错相关谓词占报告列表上所有谓词的百分比。这个标准适用于产生谓词怀疑度列表的错误定位技术。

5、基于查全率的评价标准。这是用来衡量真正出错语句占可疑语句的集合的概率,用于跨版本的相同程序的错误定位。实现方式:假设错误定位人员每次最多只会检查错误定位报告中前百分之K的语句块,称之为K-策略。假设一次实验中的错误版本数为V,使用K-策略检查将会发现有大约V*k个版本包含错误语句,其余的版本还未发现错误。则错误定位技术的得分即定义为Vk与V的比值。

  • 知网查重样例论文–错误定位评价标准概述已关闭评论
  • 2,521 views
    A+
发布日期:2017年12月27日  所属分类:论文检测样例
标签: