- 简介Bug定位是指通过Bug报告(自然语言)来识别编程语言中的源代码文件,这些文件负责软件的意外行为。由于Bug定位需要大量的人力,因此采用Bug定位模型来协助软件开发人员。现代Bug定位系统基于深度学习模型,由于源代码文件和Bug报告之间的领域差异,这些系统在很大程度上依赖于嵌入技术,将Bug报告和源代码文件投影到共享向量空间中。嵌入的创建涉及几个设计选择,但这些选择对嵌入的质量和Bug定位模型的性能的影响在当前的研究中仍未得到解释。 为了填补这一空白,我们的研究评估了14种不同的嵌入模型,以了解各种设计选择的影响。随后,我们开发了利用这些嵌入模型的Bug定位模型,以评估这些选择对定位模型性能的影响。我们的研究结果表明,预训练策略显著影响嵌入的质量。此外,我们发现,嵌入模型对数据的熟悉程度对Bug定位模型的性能有明显影响。值得注意的是,当训练和测试数据来自不同的项目时,Bug定位模型的性能会出现显著波动。
- 图表
- 解决问题本论文旨在解决bug定位中的embedding设计问题,即如何将bug report和source code files映射到同一向量空间中,从而提高bug定位的效率。
- 关键思路通过评估14种不同的embedding模型,研究了不同设计选择对embedding质量和bug定位模型性能的影响。发现预训练策略显著影响embedding质量,embedding模型对数据的熟悉程度对bug定位模型的性能有显著影响。
- 其它亮点实验使用了多个开源数据集,设计了多个实验来验证不同设计选择的影响。研究表明,预训练策略对embedding质量和bug定位模型性能有显著影响。此外,当训练和测试数据来自不同项目时,bug定位模型的性能会出现显著波动。
- 相关研究主要集中在利用深度学习模型进行bug定位,其中embedding设计是一个重要的问题。相关论文包括:“A Deep Learning-based Approach to Bug Report Classification”、“Cross-lingual Bug Localization using Neural Machine Translation”等。
沙发等你来抢
去评论
评论
沙发等你来抢