🤖 AI Summary
This work addresses the tendency of large language models to over-edit correct code during program repair, which often degrades repair accuracy. To mitigate this issue, the authors propose a “precise repair” task that emphasizes maximal reuse of correct code while modifying only the erroneous parts, and introduce the PRepair framework to realize this objective. The approach innovatively integrates an edit-aware reward mechanism and a precise repair paradigm, combining controlled defect injection, min-max sampling, edit-aware grouped relative policy optimization (EA-GRPO), and speculative editing. A two-stage training strategy—Self-Breaking followed by Self-Repairing—further enhances precision. Experimental results demonstrate that the method achieves up to a 31.4% improvement on the fix₁@1 metric while significantly increasing decoding throughput, confirming its efficiency and practicality.
📝 Abstract
Large Language Models (LLMs) achieve strong program repair performance but often suffer from over-editing, where excessive modifications overwrite correct code and hinder bug localization. We systematically quantify its impact and introduce precise repair task, which maximizes reuse of correct code while fixing only buggy parts. Building on this insight, we propose PRepair, a framework that mitigates over-editing and improves repair accuracy. PRepair has two components: Self-Breaking, which generates diverse buggy programs via controlled bug injection and min-max sampling, and Self-Repairing, which trains models with Edit-Aware Group Relative Policy Optimization (EA-GRPO) using an edit-aware reward to encourage minimal yet correct edits. Experiments show that PRepair improves repair precision by up to 31.4% under $\mathrm{fix}_1@1$, a metric that jointly considers repair correctness and extent, and significantly increases decoding throughput when combined with speculative editing, demonstrating its potential for precise and practical code repair.