HINDBR-异构信息网络基于重复错误报告的预测
- 论文下载地址: 下载链接
- 作者: Guanping Xiao, Xiaoting Du, Yulei Sui, Tao Yue
- 学校: Nanjing University
- 发表: 2020 IEEE 31st International Symposium on Software Reliability Engineering (ISSRE)
- 发表年份: 2020年
- 关键词: Duplicate bug report prediction, Heterogeneous Information Network (HIN), Information retrieval, Neural networks
摘要
重复的Bug报告在Bug跟踪系统(BTSs)中经常出现,传统的文本相似度方法已经不再有效。现代BTSs引入了即时检索功能,以降低重复Bug报告的数量,但仍存在语义上相似但文本上不相似的重复报告。为了解决这一问题,本文提出了HINDBR方法,基于异构信息网络和深度学习。该方法使用异构信息网络来捕获Bug报告中的语义相关性,通过结构化和非结构化特征的综合利用,提高了重复Bug报告的检测准确性。实验结果表明,HINDBR方法在不同项目上均取得了良好的性能,证明了其有效性。文章的研究有助于提高Bug报告处理的效率和质量,对软件开发和维护具有重要意义。
创新点与借鉴点
创新点
- 引入异构信息网络(HIN):文章的一个主要创新点是将异构信息网络应用于重复Bug报告的预测中。通过将Bug报告中的不同属性建模成HIN,可以更好地捕获属性之间的语义关系,提高了重复Bug报告检测的准确性。
- 结合结构化和非结构化特征:HINDBR方法综合利用了结构化特征(如Bug报告的属性)和非结构化特征(如Bug报告的文本描述),将它们嵌入到同一个模型中。这种综合特征提取方法可以更全面地描述Bug报告,提高了模型的性能。
- 曼哈顿距离相似性度量:文章采用曼哈顿距离作为相似性度量,与传统的文本相似度方法不同。这个度量方法在该领域中相对较新,文章的应用为重复Bug报告的检测提供了一种新的角度。
借鉴点
- JIT检索引入问题:文章借鉴了现代Bug跟踪系统中即时检索功能引入后的问题。这个问题在许多软件项目中普遍存在,因此文章的研究可以为其他研究人员提供有关如何应对这一挑战的思路。
- 深度学习在Bug报告处理中的应用:文章将深度学习技术成功应用于Bug报告的处理,这为其他领域的文本处理和相似性匹配问题提供了启示。深度学习在文本数据中的应用已经成为热点研究领域,文章的方法可以为其他文本相似性问题提供参考。
- 结合结构化和非结构化信息:文章的方法将结构化和非结构化信息相结合,这种综合特征提取方法可以在其他领域中应用,以更好地描述复杂数据,并提高模型性能。这个思想可以借鉴到其他数据分析和机器学习任务中。
实验与方法
实验设计
- 数据收集:作者采集了开源项目中的Bug报告数据,包括JIT(即时检索)前和JIT后的报告。这些数据用于训练和评估模型。
- 特征提取:在特征提取阶段,作者将Bug报告转化为适于模型处理的特征。这包括结构化特征(如Bug报告的属性)和非结构化特征(如Bug报告的文本描述)的提取和嵌入。
- 模型构建:作者构建了三个不同的模型,分别称为Text、HIN1(无Text)和HIN2(含Text)。这些模型使用不同的特征组合和神经网络结构,用于不同类型的Bug报告表示。
- 模型训练:在模型训练阶段,作者使用Keras框架对模型进行训练。训练参数和硬件配置在实验中进行了详细设置。
实验过程:
- 预训练嵌入:在实验中,作者使用了HIN2Vec和Word2Vec进行预训练嵌入。这些嵌入用于初始化模型的特征表示。
- 性能评估:为了评估模型性能,作者使用了四个评估指标,包括准确率、召回率、F1分数和AUC(曲线下面积)。这些指标用于度量模型在预测重复Bug报告方面的准确性和效果。
- 实验设置:作者使用了5折交叉验证来评估模型的性能,并对不同项目进行了测试,以验证模型的泛化能力。
- 对比实验:为了验证HINDBR方法的有效性,作者进行了对比实验,与其他方法进行了性能比较。这些方法可能包括传统的文本相似度方法以及其他现有的Bug报告重复检测方法。
总结
- (1): 本文研究背景是Bug跟踪系统中的重复Bug报告问题,特别是在现代系统中,即时检索功能引入后的情况。
- (2): 以往方法主要基于文本相似度来检测重复Bug报告,但在即时检索功能普及后,这些方法变得不再有效,因为即时检索可以减少重复报告数量。然而,即时检索也会导致一些语义上相似但文本上不相似的重复报告未被检测到,因此需要新的方法来解决这一问题。本文提出了使用异构信息网络和深度学习的方法,克服了这些问题。
- (3): 本文的研究方法包括构建Bug报告的异构信息网络,使用预训练嵌入、神经网络进行特征提取和模型训练,以及使用曼哈顿距离作为相似性度量。该方法综合利用结构化和非结构化特征,充分捕获了Bug报告的语义信息。
- (4): 本文的方法用于预测重复Bug报告,通过实验评估取得了良好的性能,证明了其有效性。性能评估使用了四个评估指标,包括准确率、召回率、F1分数和AUC。这些性能指标支持了本文的研究目标。