Bug报告的相关源代码文件定位:一个工作量感知的有效性评价

来源 :南京大学 | 被引量 : 0次 | 上传用户:pearwj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在软件开发过程中,每收到一个bug报告,开发人员通常需要花费大量的时间和精力来找出bug可能发生的位置。近年来,为了减轻开发人员的负担,学者们提出了一些自动化的基于信息检索或机器学习的bug定位方法。然而发现学者们在评价他们所提出的bug定位方法时使用的评价指标都是序列位置相关的,并没有考虑不同大小的源代码文件所需的审查工作量并不一样的问题,也即这些评价指标并不能说明bug定位方法是否能有效减少开发人员检测出与bug报告相关的源代码文件所需的工作量。  为探明利用bug报告进行bug定位的方法在工作量感知的评价指标下的性能,本文实现了包括近年来具有代表性的Learning to Rank(LR)和BugLocator方法、经典的Vector Space Model(VSM)方法以及朴素的Usual Suspects(US)方法在内的四种bug定位方法,并提出六个工作量感知的评价指标,最后在六个Java开源系统上进行实验,结果表明:(1)对于大多数系统,在对定位结果中的前k个文件进行审查时,LR方法所需的工作量比BugLocator方法和VSM方法更多,同时LR方法的工作量精度更低;(2)对于大多数系统,从定位结果中找出所有的或者第一个与bug报告相关的源代码文件时,LR方法所需的工作量比BugLocator和VSM方法多,同时尽管LR方法拥有较高的工作量精度,LR方法的性能仍有较大的提升空间;(3)LR和BugLocator等复杂的bug定位方法在工作量感知的评价指标上的表现并不优秀。  由于之前的研究表明在使用序列相关的评价指标对LR方法、BugLocator方法、VSM方法以及US方法进行评价时LR方法的性能比另外三个方法的性能都要优秀,因此本文的实验结果证实了基于序列位置的评价指标不能准确地反映一个bug定位方法的性能,在对基于信息检索或机器学习的bug定位方法进行评价时需要考虑源代码审查工作量对bug定位方法性能的影响。
其他文献
支撑平台是开发大型应用软件系统的关键技术之一.该文从电力系统的SCADA/EMS/DMS应用的角度出发,对面向对象SCADA/EMS/DMS可视化平台的理论和方法进行了深入的研究和实践.论
该文开发的JavaWeb数据库应用服务器,简称JWDAS,是一个用纯Java实现的、集WEB服务器和数据库应用服务器于一体的、构筑Intranet应用的开发平台.Servlet——服务器端的小服务
本文论述了基于面向对象方法进行3D模型转换程序的设计与实现,并在此基础上结合实际工程项目,实现了3D仿真模拟训练系统模型生成与交互部分的软件。本文较详细地介绍了3D模型转
多媒体相册系统为多媒体家用软件产品提供了标准结构框架。本系统的设计是建立在组件对象模型(COM)架构基础上的,使用ActiveX控件技术设计其功能模块。图像处理控件是系统的关键
随着大数据时代的到来,大规模数据存储成为大数据的关键技术之一。分布式存储系统大多部署在廉价的商用机器上,节点失效已经成为一种常态。因此,如何构建面向海量数据的可靠存储
随着Internet应用的日益普及,计算机网络的安全性越来越受到人们的重视。如果打算利用Inernet从事诸如政治、经济等需要有安全保证的活动,那么决策者首先想到的就是网络的安全
该文的研究工作可概括如下:通过描述IP视频提供的快捷、丰富的业务及与其它网络互联给用户带来的信息化体验,阐述了IP视频的发展、基本特征及其原理.同时将目前"网上大学"一
以实体为中心的结构化数据在网络上迅速增长。一个实体的描述由属性-取值对(property-value pair)组成,一个属性-取值对也称为一个特征(feature)。实体的描述在许多应用中变得
该文针对工程设计的特点,对工程智能CAD系统中的实例类知识进行了研究.首先,在分析了实例类知识的设计方法后,对实例类知识的表达进行了研究和探讨.第二,以西南交通大学CAD工
该文主要研究了电子商务应用中所涉及的若干关键技术.通过设计和实现一个电子书店模型,重点对Web数据库技术、商务智能技术和安全交易技术等方面进行了探讨.主要包括以下内容