摘要
arXiv:2501.10542v2 宣布类型: 替换-交叉
摘要:软件bug在开发和维护过程中构成了一个重大挑战,实践者花费近50%的时间来处理bug。许多现有的技术采用信息检索(IR)技术通过bug报告与源代码之间的文本和语义相关性来定位报告的bug。然而,它们往往难以弥合bug报告和代码之间的一个关键差距,这需要深入的上下文理解,而这种理解超出了文本或语义相关性所能达到的范围。本文提出了一种新的bug定位技术——BRaIn——通过使用大型语言模型(LLM)评估bug报告与代码之间的相关性来填补这些上下文差距。然后,它利用LLM的反馈(即智能相关反馈)来重新制定查询并重新排名源文档,从而改善bug定位。我们使用基准数据集Bench4BL和三种性能指标评估了BRaIn,并将其与文献中的六种基线技术进行了比较。实验结果显示,BRaIn在MAP、MRR和HIT@K上的表现分别优于基线技术87.6%、89.5%和48.8%。此外,它还能定位大约52%的基线技术由于对应的bug报告质量差而无法定位的bug。通过填补上下文差距并引入智能相关反馈,BRaIn不仅推进了理论发展,还提高了基于信息检索的bug定位的效果。