论文

BoostAPR:经执行依据对齐强化学习与双奖励模型提升自动程序修复

BoostAPR: Boosting Automated Program Repair via Execution-Grounded Reinforcement Learning with Dual Reward Models

模型训练奖励建模与过程监督

摘要

程序修复的强化学习受稀疏执行反馈与粗粒度序列级奖励阻碍——后者掩盖了哪些编辑真正修复了bug。我们提出BoostAPR:三阶段框架应对这些挑战:(1) 在带推理轨迹的执行验证演示上监督微调;(2) 从执行结果训练双奖励模型——序列级评估器与行级贡献归因器;(3) PPO优化,其中行级模型把奖励重分配到关键编辑区域。这种行级贡献归因在天然适合代码变更的中间粒度运作。在SWE-Gym上训练、四基准评估:BoostAPR在SWE-bench Verified取得40.7%(较基座+22.9pp)、Defects4J 24.8%(Python到Java迁移)、HumanEval-Java 84.5%、QuixBugs 95.0%,在开源模型中具竞争力且跨语言泛化强劲。

BoostAPR:经执行接地强化学习与双奖励模型提升自动程序修复:论文配图
图 1:BoostAPR 训练框架概述。我们的方法由三个阶段组成:第一阶段对带有推理痕迹的执行验证演示进行监督微调;第二阶段使用执行结果的混合回归偏好目标来训练双重奖励模型;第三阶段通过 PPO 优化策略,并通过 RseqR_{\mathrm{seq}} 和 RlineR_{\mathrm{line}} 的组合获得token级奖励。行级分配器将奖励重新分配给编辑行范围,减少奖励稀疏性,而不需要反事实补丁评估。