Page 209 - 《软件学报》2020年第9期
P. 209
2830 Journal of Software 软件学报 Vol.31, No.9, September 2020
种重要的特征信息(见图 1 中点划线标明的特征工程路径);提升缺陷报告的质量;使用深度学习技术自动提取特
征等.
1.3.2 模型评估(见第 4 节)
IRBL 方法的输出结果是一个排序列表,因此在对这类方法进行性能评估时,使用的是常用的 3 个排序指标
Top@K,MRR,MAP.这些指标在评估纯排序结果时是客观公平和有效的,然而在实际使用过程中是否有效,不仅
仅取决于排序结果,还与待排序的对象有关.在评估模型时主要有以下 3 个方面挑战.
(1) 评估指标不全面.单纯的排序指标并不能得到全面的评价结果.例如:对于缺陷定位来说,开发人员要
花费工作量在排序结果中依次审查代码文件 [36,37] ;
(2) 测试项目不充足.要取得可靠的评估结果,必须要在大量的项目上对模型进行评估.仅在个别项目上
的评价结果,在更多项目上测试其泛化性能;
(3) 实验过程不统一.为了对比不同方法的性能,需要在统一的实验配置下进行实验.然而在不同研究者
的实验设置中存在的差异,使得研究者很难得到真实客观的对比结果.
上述挑战使得 IRBL 模型的良好表现只停留在实验阶段而无法在现实项目中被广泛应用.为了解决上述挑
战,该领域的另一个研究重点是更加科学全面地评估 IRBL 模型,即使用更加合理的评估指标 [36] 、更加丰富的数
据集 [26,38,39] 和统一的实验设置对模型进行评估.
2 文献检索
2.1 文献筛选与检索
IRBL 方法一直是缺陷定位领域的热点研究问题.近年来,大量的研究工作集中在该领域,并不断地对定位
方法和评价体系进行改善.为了对该问题进行系统的分析、总结和比较,本文的参考文献力图覆盖近 10 年来与
IRBL 相关的主要研究工作,同时包含缺陷定位领域的其他相关技术的主要文献.具体来说,本文使用以下的步
骤来进行相关文献的检索和筛选.
(1) 检索目标:谷歌学术搜索引擎(Google scholar)、DBLP Computer Science Bibliography、ACM Digital
Library、IEEE Xplore Digital Library 以及 Springer Link Online Library 等论文数据库.检索内容主要
包括软件工程-系统软件-程序设计语言方向的国际一流会议(ESEC/FSE,ICSE,ASE 等)和一流期刊
(TSE,EMSE,IST 等)以及其他重要的会议和期刊如 MSR,SIGIR,WCRE 等录用的文章;
(2) 检索关键词:包括“bug localization”“locating bugs”“information retrieval”和“fault localization”等以及
相近的主题关键词如“text retrieval”;
(3) 检索起止时间:2000 年~2019 年之间的文献.需要说明的是:2010 年以前关于 IRBL 的相关研究相对较
少,所以重点关注 2010 年及其之后的文献;
(4) 文献审查:首先对检索出来的文献进行人工筛选,去除不符合研究主题的文献;然后检查选中论文中
的参考文献列表以防遗漏掉未检索到的文献;最后,在第 2.2 节中对所选文献进行汇总.
2.2 历史文献的汇总
经过文献的检索与筛选,本文收集了基于信息检索的缺陷定位领域中近 10 年来的学术论文共 82 篇.这些
研究论文将会按照种类分别在第 3 节和第 4 节进行详细介绍.对于其他种类的缺陷定位相关技术,我们在第 5
节中对其进行分类和介绍.
表 2 列出了基于信息检索技术的相关文献的详细列表.可以看出:在 CCF 划分的软件工程领域 A 类会议上
有 15 篇,期刊上有 6 篇.这表明 IRBL 研究是软件工程领域一个比较活跃的研究方向.图 2 展示了 10 年来 IRBL
领域的研究论文发表的数量分布情况.从图中可以看出,该领域的逐年论文发表数量呈现出一个波动上升的趋
势.这说明对 IRBL 这个领域正越来越受到研究者的重视.在 2019 年,相关论文数量有所下降但仍然保持着较高
的活跃度.