首页 | 本学科首页   官方微博 | 高级检索  
     

方法级别的细粒度软件缺陷定位方法
引用本文:张文,李自强,杜宇航,杨叶.方法级别的细粒度软件缺陷定位方法[J].软件学报,2019,30(2):195-210.
作者姓名:张文  李自强  杜宇航  杨叶
作者单位:北京化工大学 经济管理学院, 北京 100029;北京工业大学 经济管理学院, 北京 100124,北京化工大学 经济管理学院, 北京 100029,北京化工大学 经济管理学院, 北京 100029,School of Systems and Enterprises, Stevens Institute of Technology, Hoboken, NJ 07030, USA
基金项目:国家自然科学基金(61379046,61432001);西安市科技计划(2016CXWL21)
摘    要:当软件缺陷报告在跟踪系统中被指派给开发人员进行缺陷修复之后,缺陷修复人员就需要根据提交的缺陷报告来进行软件缺陷定位,并做出相应的代码变更,以修复该软件缺陷.在缺陷修复的整个过程中,软件缺陷定位占用了开发人员大量的时间.提出了一种方法级别的细粒度软件缺陷定位方法MethodLocator,以提高软件修复人员的工作效率.MethodLocator首先对缺陷报告和源代码方法体利用词向量(word2vec)和TF-IDF结合的方法进行向量表示;然后,根据源代码文件中方法体之间的相似度对方法体进行扩充;最后,通过对扩充后的方法体和缺陷报告计算其余弦距离并排序,来定位为修复软件缺陷所需做出变更的方法.在4个开源软件项目ArgoUML、Ant、Maven和Kylin上的实验结果表明,MethodLocator方法优于现有的缺陷定位方法,它能够有效地将软件缺陷定位到源代码的方法级别上.

关 键 词:缺陷报告  MethodLocator  细粒度缺陷定位  方法级别  词向量表示
收稿时间:2017/9/6 0:00:00
修稿时间:2017/10/31 0:00:00

Fine-grained Software Bug Location Approach at Method Level
ZHANG Wen,LI ZI-Qiang,DU Yu-Hang and YANG Ye.Fine-grained Software Bug Location Approach at Method Level[J].Journal of Software,2019,30(2):195-210.
Authors:ZHANG Wen  LI ZI-Qiang  DU Yu-Hang and YANG Ye
Affiliation:School of Economics and Management, Beijing University of Chemical Technology, Beijing 100029, China;College of Economics and Management, Beijing University of Technology, Beijing 100124, China,School of Economics and Management, Beijing University of Chemical Technology, Beijing 100029, China,School of Economics and Management, Beijing University of Chemical Technology, Beijing 100029, China and School of Systems and Enterprises, Stevens Institute of Technology, Hoboken, NJ 07030, USA
Abstract:When a software bug report is assigned to a developer for bug resolution, the developer needs to locate the bug in a source code file and make code changes correspondingly to resolve the software bug. In fact, most of time of the developer is spent on bug location in the whole process of bug resolution. This study proposes a method level fine-grained bug location approach, called MethodLocator, to improve the efficiency of software bug resolution. Firstly, it takes the vector representation of the bug report and the source code method body using the word vector (Word2Vec) and TF-IDF. Secondly, MethodLocator augments method body of each method based on similarities among all method bodies in the source code files. Thirdly, MethodLocator locates methods for change to resolve the bug based on similarities between the bug report and the augmented methods. Experimental results on four open source software projects as ArgoUML, Ant, Maven, and Kylin demonstrate that MethodLocator is better than state-of-the-art techniques in method level bug location.
Keywords:bug report  methodLocator  fine-grained bug location  method level  word vector representation
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

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