返回
Inducing Code Change in LLM Self-Debugging: Effects on Program Repair
DOI:10.3390/ai7100392.png)
摘要
En 中文
执行引导的自调试在请求修订时可能返回未更改的代码,甚至修改后的程序仍可能无法修复观察到的错误。仅凭最终通过/失败结果无法区分这些不同结果。我们研究了使用六个开源权重模型在三个基准测试上生成的9790个Python程序。模型通常根据基准测试评估记录将程序分类为通过(PASS)或失败(FAIL),并在单独的判断任务中选择保留(PRESERVE)或修订(REVISE),但单独的修订请求仅改变了4168个初始失败程序中的57.39%,并在相同的基准测试套件中修复了16.34%。由于许多修订请求返回了未更改的代码,我们测试了一种最小干预方法,即仅添加一条指令说明返回的代码必须更改。该指令将初始程序和修订程序标记的AST之间的结构代码更改率提高了7.92至31.86个百分点,并在测试的故障信息设置中产生了0.82至1.87个百分点的适度修复增益。然而,大多数代码更改仍不成功,而具体的执行反馈提供了显著的额外好处:在四个修订提示中,提供第一个报告的故障而非仅提供故障状态使修复率提高了12.93至13.43个百分点,而在报告多个故障时,提供所有报告的故障在BigCodeBench-Instruct上带来了进一步的收益。在重新评估后重复修订可以恢复额外的修复,但逐轮的增量收益急剧下降。明确要求代码更改的提示在重复轮次中通常保留了较小的修复优势,即使每轮的额外收益在减少。总体而言,结果表明存在互补的方法来改进大型语言模型(LLM)的自调试:简单的代码更改指令可以减少未更改的修订并提供适度的修复增益,而具体的执行反馈有助于引导更改后的代码实现修复,重复的重新评估则提供了进一步但递减的修复机会。
Keyword:
code-change induction
self-debugging
execution feedback
program repair
large language models
期刊
A
IF:
5
论文数:
1.0K
被引数:
941
机构
暂无机构信息
引用论文
Is Your Code Generated by Chatgpt Really Correct? Rigorous Evaluation of Large Language Models for Code Generation您的代码是由ChatGPT生成的真的正确吗?大型语言模型在代码生成中的严格评估
Gloaguen, T.; Mündler, N.; Müller, M.; Raychev, V.; Vechev, M. Coding Agents Don’t Know When to Act. arXiv 2026, arXiv:2605.07769. [Google Scholar] [CrossRef] [Scilit]Gloaguen, T.; Mündler, N.; Müller, M.; Raychev, V.; Vechev, M. 编码智能体不知道何时行动。arXiv 2026, arXiv:2605.07769. [Google Scholar] [CrossRef] [Scilit]
ReflexiCoder: Teaching Large Language Models to Self-Reflect on Generated Code and Self-Correct It via Reinforcement LearningReflexiCoder:通过强化学习教大型语言模型对生成的代码进行自我反思和自我纠正
LeVine, W.; Evers, B.; Saltwick, S.; Venkatesh, A. RubricRefine: Improving Tool-Use Agent Reliability with Training-Free Pre-Execution Refinement. arXiv 2026, arXiv:2605.09730. [Google Scholar] [CrossRef] [Scilit]LeVine, W.; Evers, B.; Saltwick, S.; Venkatesh, A. RubricRefine:通过免训练预执行优化提高工具使用代理的可靠性。arXiv 2026, arXiv:2605.09730. [Google Scholar] [CrossRef] [Scilit]
Cheng, Y.; Liu, Z.; Xing, Z.; Ni, C.; Huang, Q.; Ren, X. PracRepair: LLM-Empowered Automated Program Repair Inspired by Human-Like Debugging Practices. arXiv 2026, arXiv:2606.17612. [Google Scholar] [CrossRef] [Scilit]程, Y.; 刘, Z.; 邢, Z.; 倪, C.; 黄, Q.; 任, X. PracRepair: 受人类调试实践启发的LLM赋能的自动程序修复. arXiv 2026, arXiv:2606.17612. [Google Scholar] [CrossRef] [Scilit]
Le, C.C.; Yadavally, A.; Le-Anh, M.; Nguyen, T.N. Benchmarking Code Improvement with Progressive, Adaptive, and Interactive Feedback. arXiv 2026, arXiv:2607.01360. [Google Scholar] [CrossRef] [Scilit]Le, C.C.; Yadavally, A.; Le-Anh, M.; Nguyen, T.N. 基于渐进式、自适应和交互式反馈的代码改进基准测试。arXiv 2026, arXiv:2607.01360. [Google Scholar] [CrossRef] [Scilit]
McAndrews, C.J. Feedback Over Form: Why Execution Feedback Matters More Than Pipeline Topology in 1–3B Code Generation. arXiv 2026, arXiv:2604.21950. [Google Scholar] [CrossRef] [Scilit]麦安德鲁斯, C.J. 形式之上的反馈:为何执行反馈比1-3B代码生成中的管道拓扑更重要。arXiv 2026, arXiv:2604.21950. [Google Scholar] [CrossRef] [Scilit]

