Page 219 - 《软件学报》2020年第9期
P. 219
2840 Journal of Software 软件学报 Vol.31, No.9, September 2020
告、代码结构和堆栈踪迹这 4 种特征,并在大量研究中被以不同的方式集成到他们的 IRBL 方法中;
(3) 查询重构是一种独立于具体定位方法的优化策略,因此,它可以作为一个预处理步骤集成在任何现有
的 IRBL 方法中,具有很好的可移植性;
(4) 将深度学习模型应用到基于信息检索的缺陷定位中,可以自动地从代码和缺陷报告中提取特征.最新
的研究显示了深度学习模型在缺陷定位应用中十分有效.
4 IRBL 模型的评估
本节介绍 IRBL 模型评估方向的研究进展,根据对现有文献的分类,主要从模型比较、评价指标和实验数据
这 3 个部分展开介绍.
4.1 模型比较
研究者在提出新的 IRBL 方法时,会设计实验来验证新方法的有效性.然而通常的情况是,不同研究者在设
计实验时不能够完全确保实验的一致性(即:与基准方法使用的实验设置是否一致,是否正确复现了基准方法)
与合理性(即实验设置是否存在问题).这些因素可能会使得实验结果不能准确显示新方法的真实性能,从而误
导后续的研究工作.
为了获得比较真实客观的实验结果,一些研究工作致力于设置公平的实验对已有定位方法或者 IR 模型的
效果进行比较和评估的实证研究,我们简称为模型比较研究.这类研究的好处在于以下 3 个方面 [89] :(1) 对研究
者,帮助他们理解现有模型的优缺点和真实效果,并在此基础上研究更有效的定位方法;(2) 对缺陷定位编程人
员,帮助他们理解如何更好地使用现有方法来达到理想的定位结果;(3) 对缺陷报告者来说,帮助他们在提交缺
陷报告时填写对定位缺陷最有用的信息来加强缺陷定位的成功.
4.1.1 对不同参数性能的比较
2011 年,Thomas 等人 [66] 在超过 8 000 个缺陷报告上实证调查了分类器参数(总共 3 172 种参数设置)和不同
分类器组合对缺陷定位的影响.他们主要得出两个结论:(1) 分类器的参数设置对性能有显著的影响;(2) 使用
不同分类器组合的结果优于使用任意单独的分类器.
2018 年,Tantithamthavorn 等人 [76] 研究了 IR 分类器的配置参数对方法级别缺陷定位的性能和工作量的影
响.他们的主要结论如下:(1) 即使在分类结果的排序性能相似的情况下,不同的参数对分类结果的工作量有十
分显著的影响;(2) 在方法级别表现较好的参数设置可以应用到文件级别,反之亦然.他们最后强调,在评估方法
时应当考虑审查结果所花费工作量.
4.1.2 对不同模型性能的比较
2011 年,Wang 等人 [19] 在一个大型的 Linux 内核数据集上比较了 10 种不同 IR 技术的关注点定位(concern
localization)方法.他们的结果显示:(1) 简单的 IR 模型(如 VSM 和 SUM)比复杂的模型(如 LDA)定位效果要好;
(2) 相同的 IR 技术在不同系统上处理不同应用时的表现有差异;(3) 基于 IR 的关注点定位技术在大型软件系
统中和小型软件系统中一样有效;(4) 现有的 IR 技术在处理软件语料库时,效果差于处理自然语言的语料库.
2015 年 Alduailij 等人 [89] 使用统计推断比较 3 种文本模型(VSM,LSI,LDA)在方法级别缺陷定位时的性能.
他们得出结论是,VSM 是比较好的模型.接着,他们研究了额外参数对 VSM 性能的影响,包括方法长度、查询长
度、方法的文档注释以及缺陷报告中提及的产品名称和组件名称.他们发现,VSM 与大多数被测的参数正相关.
2018 年,Shi 等人 [94] 对混合缺陷定位方法(hybrid bug localization,即同时使用 IR 相似度和附加特征的方法)
进行研究.他们比较了 8 种不同的 LtR 技术在使用 4 种归一化方法时的性能表现.他们发现,LtR 的表现好于最
新的 BLUiR [24] 和 AmaLgam 方法 [31] .
4.1.3 对不同实验方案的比较
一些研究者指出:在进行模型比较的实验验证过程中存在不合理的设置,这些不合理的设置会影响实验结
果的准确性.2018 年,Kim 等人 [41] 发现,现有研究的实验数据集中包含一些 non-buggy 文件(例如测试文件).他们
指出:将这些文件包含在数据集中会影响现有技术的可靠性,所以在以后实验方案中应当被去掉.根据他们在排