Aligning Programming Language and Natural Language: Exploring Design Choices in Multi-Modal Transformer-Based Embedding for Bug Localization

2024年06月25日
  • 简介
    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”等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论