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