基于执行轨迹的缺陷定位研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:hjjcumt
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机软件的日益复杂,软件可信的要求越来越高,特别是在航空、航天、金融、证券、交通等领域尤其如此。可信要求软件具有高可靠性和高可用性。软件中隐藏的缺陷数目直接决定软件的可靠性。缺陷定位是移除软件缺陷的关键步骤,缺陷定位的有效性直接影响软件的可用性。   由于软件测试的成本越来越高和测试技术的不断发展,自动化测试(Automated Testing)被越来越多的使用在软件测试中。自动化测试提高发现缺陷的效率,但是要找到这些缺陷还是需要程序员逐一审查代码来实现,缺陷定位成为了提高高质量软件的开发效率的瓶颈。自动化的缺陷定位能够辅助程序员定位缺陷,提高缺陷定位的效率,具有十分重要的意义。基于执行轨迹的缺陷定位方法只需要被测系统的源代码和测试用例集,能够很好的和自动化测试相结合,实现自动化的缺陷定位。   本文研究了基于执行轨迹的缺陷定位,提出了一个缺陷定位的框架和一个新的缺陷定位方法,并设计实现了一个自动化缺陷定位的原型工具。本文的主要工作如下:   1、综述了缺陷定位的研究现状。首先介绍了缺陷的概念和分类,并讨论了缺陷定位的相关术语。将现有缺陷定位方法分为基于代码修改、基于内存状态、基于数据挖掘、基于执行轨迹等四类,并详细介绍了各类方法的主要思想。   2、提出基于执行轨迹缺陷定位方法的通用框架FLOC。将基于执行轨迹的缺陷定位方法分为四个阶段:执行轨迹的组织,测试用例的选择,怀疑率的计算,定位报告的评价。在此框架下系统的比较了现有的基于执行轨迹的缺陷定位方法。   3、提出一种基于类层相似性的缺陷定位方法CLSim。考虑面向对象程序中类具有高内聚性和低耦合性的特点,按面向对象程序的代码结构来组织执行轨迹。从语句块的角度,根据执行轨迹的类层相似性选择与各语句块相关的测试用例,在语句块层计算各语句块的怀疑率,从而避免冗余测试用例的影响。   4、开发出自动化缺陷定位原型工具JFLoc。JFLoc能够和自动化测试紧密结合,在自动化测试阶段收集测试信息,按照FLOC框架对信息进行整理、选择、分析,并生成缺陷定位报告以辅助程序员定位缺陷。   5、通过一个开源软作为实验对象,评价了CLSim方法的效果,验证了JFLoc的实用性。我们在JFLOC中集成了CLSim和Tarantula等方法,然后利用JFLOC来对开源XML解析软件NanoXML中的缺陷进行定位。实验结果表明,JFLoc具有很好的实用性,且在我们的实验对象下CLSim的定位效果要好于Tarantula。  
其他文献
随着计算机与通讯技术的迅速发展,人们对信息的需求变的越来越高,信息的容量也越来越大,海量的信息对信息管理系统的性能提出了挑战。为了解决信息管理系统过载问题,有些学者
在大型回转窑氧化铝生产过程中,回转窑内部烧结工况往往受到各种条件变化及不当操作等因素的影响而造成系统的不稳定,导致系统性能降低和氧化铝产品质量降低。在我国的大型回
跨媒体信息检索技术是指在现有的基于内容的多媒体信息检索基础上,建立不同类型媒体之间的关联关系,在检索结果中可以返回和检索请求媒体类型不同的媒体对象。在跨媒体检索系统
随着软件系统的规模和复杂度的不断增大,软件开发所关注的焦点已不再是算法和数据结构,而是作为软件系统总体结构和组织的软件体系结构。软件体系结构在软件系统的设计和实现中
近几年来,随着计算机技术、通信技术和互联网技术的飞速发展,视频会议系统作为新型多媒体应用的典型代表其研究和应用越来越受到关注。同时SIP(Session Initiation Protocol,
本文结合海鼎公司的软件产品现状提出了基于SOA的商业流通领域的软件集成的架构,并着重研究了在该架构下的应用集成平台的设计中需要解决的两个问题—单点登陆的身份认证问题
信息资源规划的主要成果就是建立起集成化的信息系统模型,包括功能模型、数据模型和系统体系结构模型。传统的信息资源规划建模过程主要是业务人员之间、业务人员与系统分析
传统的软件度量方法己不能对大型软件进行有效度量,因此如何度量大型软件成为软件领域的一个挑战。近年来,研究者发现软件结构网络展现出复杂网络特性,又因软件的系统(拓扑)
本文主要针对直拍横打技术的现状及发展趋势,与横拍反手位技术进行比较分析研究直拍横打关键技术的特点,针对直拍横打技术存在用力不足、击球点难掌握和腕关节用力不足等弱点,根
近几年,人与人之间的交流越来越依赖社交网络,各种社交媒体的用户量也迅猛增涨。随着社交网络体量的增大,信息在社交网络上往往会得到爆炸式传播。人们也逐渐发现,相对于传统的新