论文

重新思考自动化程序修复:Bug 复杂性、故障定位和 LLM 成本效率的影响

Rethinking Automated Program Repair: The Impact of Bug Complexity, Fault Localization, and LLM Cost-efficiency

模型评测模型能力评测

摘要

背景:软件错误仍然是开发中的一个关键挑战,需要有效的自动程序修复(APR)技术。虽然基于 大语言模型 (LLM) 的 APR 系统已显示出前景,但之前的研究主要集中在整体修复效果上。错误复杂性、故障定位、推理设置和修复成本效益的影响仍未得到充分探索。目标:本研究对基于 LLM 的 APR 进行了全面的实证分析,重点关注错误复杂性、故障定位、推理设置和成本如何影响修复性能。方法:我们使用三个 LLM(DeepSeek、GPT 和 Llama)评估两种 APR 技术(ChatRepair 和 CodeCorrector),并通过多维经验框架和统计分析检查它们在不同级别的错误复杂性和本地化策略上的性能。结果:尽管结构复杂的错误和不精确的故障定位使修复更具挑战性,但基于 LLM 的 APR 技术仍然实现了有竞争力的修复效果。不精确的故障定位会大大扩大 APR 技术之间的性能差距。此外,较高成本的 LLM 和更强的推理设置并不总是能产生更好的成本效率,这揭示了修复有效性和计算成本之间的重要权衡。结论:超过 50% 的中等复杂错误可以通过基于 LLM 的低成本 APR 技术修复。随着故障定位变得越来越不精确,APR 技术之间的修复效果差距变得越来越大。 GPT-5 分别修复了比 DeepSeek-V4-pro 和 DeepSeek-V3.2 复杂的 7 个和 39 个错误;而DeepSeek-V3.2的总修复成本显示出最佳的性价比表现。