论文

iCoRe:用于错误重现测试生成的迭代相关感知 检索器

iCoRe: An Iterative Correlation-Aware Retriever for Bug Reproduction Test Generation

上下文与知识检索增强

摘要

根据问题描述自动生成错误重现测试(BRT)对于软件维护至关重要。基于 LLM 的方法在这项任务上显示出了巨大的潜力。它们的有效性在很大程度上依赖于从代码库中检索高质量的上下文。现有方法的检索阶段依赖于 BM25 等传统方法或 LLM 驱动策略。基于 LLM 的检索策略通常为 LLM 配备工具来自主探索存储库或从提供的列表中选择最相关的文件和代码片段作为上下文。然而,这些检索方法面临三个关键限制:1)它们经常采用统一的策略来检索源代码和测试用例,而忽略了它们不同的检索需求。 2)他们只关注语义相似性,而忽略函数调用关系,导致上下文无关。 3) 检索缺乏生成阶段的反馈循环,导致其无法根据执行结果细化上下文。这些限制共同导致低质量的上下文,从而阻碍了错误再现的准确性。为了应对这些挑战,我们提出了 iCoRe,一种迭代的、相关性感知的上下文检索方法,它明确地意识到三个关键的相关性:1)源代码和测试用例之间,这需要区分检索;2)文本语义和函数调用结构之间,以进行准确的相关性评估;3)检索和生成阶段之间,这使得迭代反馈和细化成为可能。为了评估 iCoRe,我们将其与基于 LLM 的 BRT 生成器集成,并对 SWT-bench Lite 和 TDD-bench Verified 基准进行全面评估。实验结果表明,我们的方法的失败率分别为 42.0% 和 52.8%,比现有检索方法相对提高了 19.7%-31.7%。