论文
从猜测到看到:通过跟踪引导的多策略辩论增强基于 LLM 的程序修复
From Guessing to Seeing: Enhancing LLM-Based Program Repair via Trace-Guided Multi-strategy Debate
摘要
自动程序修复(APR)旨在无需人工干预即可解决软件错误,但复杂的逻辑错误和无声故障仍然具有挑战性。现有的基于LLM的APR方法主要依赖于源代码和粗略的测试反馈,难以捕获运行时行为和动态数据依赖关系。执行跟踪公开了具体的状态转换,但单独解释它们的单个 LLM 可能会做出不正确的修复假设并产生测试过度拟合补丁。因此,我们将运行时证据视为验证修复假设的共享约束,而不仅仅是作为额外的提示上下文。我们提出了 TraceRepair,这是一个多代理框架,其中探测代理捕获关键变量的执行快照,而专门的修复代理则根据观察到的运行时证据生成、比较和迭代地细化候选补丁。然后,法官代理仲裁剩余的假设并综合最终的补丁。在 Defects4J 上进行评估,TraceRepair 正确修复了 392 个缺陷,并且优于现有的基于 LLM 的方法。进一步的实验证明了对新构建的最近错误数据集的效率提高和强泛化,这表明收益来自动态推理而不是记忆。