测试集约简中的相对冗余技术用于保持或提高缺陷定位效果的研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:ww5118529
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着现代大规模软件版本不断更迭,测试集的规模也变得庞大,软件测试的成本也随之上升。测试集约简技术则被考虑用来解决此类问题,它可以找到原测试集中规模更小的一个子集,且能满足原始的测试需求,如语句覆盖程度,分支覆盖程度等,从而大大降低了软件测试的成本。   然而传统的测试集约简技术考虑的往往是单一的测试需求,所以当大部分测试用例被约简掉后,附带的有用的测试信息就丢失了。缺陷定位技术就是一个基于统计的使用所有测试用例的测试信息(包括测试用例通过与否和测试用例的执行轨迹)帮助程序员定位缺陷所在位置的新兴技术。因此,缺陷定位技术会受测试集约简的影响而变得不准确。尤其是对软件可信性的要求越来越高,需要及时移除软件中的缺陷,并能够实现一定程度的自动化。因此,如何有效的约简测试集规模并同时提高或至少保持缺陷定位效果成为软件调试领域的一个热点问题。   本文提出了一个新方法用来解决这种问题,即有选择性的将少量的冗余测试用例返回到约简后得到的代表集中,改变程序代码块之间的覆盖程度,使得与原测试集相比能够提高或保持缺陷定位效果。本文的主要工作如下:   1、综述了测试集约简技术。首先介绍了测试集约简问题的相关概念,然后总结了在该领域一些著名的算法:HGS算法,Heuristic GE算法和Heuristic GRE算法,模拟退火算法,遗传算法和线性规划方法,最后讨论了算法之间的比较。   2、综合分析了测试集约简和缺陷定位之间的关系。从3个已有工作出发,分别讨论了冗余测试集、动态基本块和基于语句的约简对缺陷定位的影响,然后分别分析和评价了各个解决方案,提出了新的想法。   3、在测试集约简中第一次基于缺陷定位技术提出了相对冗余的概念。提出了相对冗余技术在测试集约简中的通用框架,分为四个阶段:测试信息的准备,测试集约简,冗余测试用例的选择,怀疑率的计算和定位报告的评价;提出了一个在冗余测试集中选择测试用例的方法,该方法使得得到的相对冗余集对于保持或提高缺陷定位效果会有帮助。   4、通过-个开源软件作为实验对象,评价了该方法的效果。使用开源的XML解析软件NanoXML作为实验对象,使用HGS算法进行测试集约简,然后按照上述方法添加冗余测试用例到代表集中得到相对冗余集后,分别对原始测试集、代表集和相对冗余集使用Tarantula方法进行缺陷定位。实验结果表明相对冗余技术在此实验对象下基本能够保持或提高缺陷定位效果。  
其他文献
随着数据库的广泛应用和发展,人们不再仅仅满足于一般的数据存储和业务处理,而对系统提出了更高的要求:提供决策支持。目前,数据库已经广泛投入到了各行各业的应用当中,作为数据库
学位
随着信息技术的发展,计算机网络已经成为人们日常学习和工作中必不可少的一部分,其安全性得到了越来越多的重视。然而由于计算机系统的复杂性以及利益的驱使,攻击始终没有间断过
Skyline计算就是从一个数据集中找到不被其他数据点支配的所有点的集合。如果一个数据a支配另一个数据b,那么a的每一维属性值都不比b对应属性值“差”,而且必须至少有一个属
在建筑结构设计领域,随着CAD技术的发展和广泛应用,设计的过程和方式发生了根本的变化。CAD技术的出现极大的提高了设计的效率,减轻了建筑结构设计师的设计负担。建筑结构设计CA
分布式仿真是一种形成可参与的综合性仿真环境的仿真技术,它采用协调一致的结构、标准、协议等手段,通过网络环境将部署于各地的仿真系统进行互联。这种技术的出现使得构建大
数据挖掘是从海量数据中获取新颖的、潜在有用知识的过程,目前已经得到了广泛的应用。数据共享给用户带来好处的同时,也带来了泄密的风险。伴随着数据共享而来的隐私保护数据挖
分布式虚拟环境的研究需要解决可扩展性问题,主动兴趣管理技术将主动路由技术和基于内容的发布-订购模式相结合,使用双向共享组播树作为兴趣管理的通讯结构,在一定程度上提高了
伴随着计算机技术的高速发展,数字图像处理成为了一门新兴学科,并且在生活中的各个领域得以广泛应用。图像边缘检测技术则是数字图像处理和计算机视觉等领域最重要的技术之一
程序的不变性(Immumbility)是指类的实例对象的状态在其生命周期内不会发生改变。分析程序的不变性主要有两种技术:一种是采用静态分析技术分析程序的类、属性和方法等,获得不
为实现林业信息化、提高林业现代化,国家林业部提出建设“数字林业”的构想。即利用3S技术和相关计算机技术,将林业的各种特征用数字化的形式表现出真实的林业状况。其中,林分景