How Do LLMs Read Bug Reports? An Empirical Study of Attention in LLMs for Automated Program Repair
论文《How Do LLMs Read Bug Reports? An Empirical Study of Attention in LLMs for Automated Program Repair》首次实证研究LLM在自动程序修复中的注意力模式,分析了SWE-bench Verified和Multi-SWE-bench中319个真实Python和Java错误。研究发现成功修复的特征是注意力分散在多个诊断组件(如错误描述、堆栈跟踪)上,而失败修复则过度关注单一组件。
Development
- First ReportHow Do LLMs Read Bug Reports? An Empirical Study of Attention in LLMs for Automated Program RepairarXiv cs.AI
- Current Assessment自动程序修复工具(如SWE-agent)的可靠性受限于LLM对错误报告信息的处理方式。当前模型对堆栈跟踪等关键信息的注意力不足,可能导致修复失败。Agent Pulse · analysis
该论文首次对基于LLM的自动程序修复中的注意力模式进行实证研究,分析了319个来自SWE-bench Verified和Multi-SWE-bench的真实Python和Java错误。研究回答了三个问题:模型注意力如何在错误报告各部分分布;成功与失败修复中注意力模式的差异;以及这些模式与开发者认为重要的信息之间的对比。结果表明,成功修复的注意力分散在多个诊断组件(如错误描述、堆栈跟踪)上,而失败修复则过度关注单一组件。
LLM在程序修复中的注意力模式与修复成功率强相关:成功修复时注意力分散于多个诊断组件,失败时则过度集中于单一组件。这提示未来可设计注意力引导机制或注意力正则化方法,提升修复一致性。
自动程序修复工具(如SWE-agent)的可靠性受限于LLM对错误报告信息的处理方式。当前模型对堆栈跟踪等关键信息的注意力不足,可能导致修复失败。
对开发自动修复工具的公司(如GitHub Copilot、SWE-agent)而言,理解注意力模式可指导模型优化,提升修复成功率,降低人工调试成本。
可验证信号:未来6个月内出现基于注意力引导的LLM修复微调方法,或修复工具集成注意力可视化功能以辅助调试。