ChatPaper.aiChatPaper

QiMeng-PRepair: Präzise Code-Reparatur durch bearbeitungsbewusste Belohnungsoptimierung

QiMeng-PRepair: Precise Code Repair via Edit-Aware Reward Optimization

April 7, 2026
Autoren: Changxin Ke, Rui Zhang, Jiaming Guo, Yuanbo Wen, Li Ding, Shuo Wang, Xuyuan Zhu, Xiong Peng, Di Huang, Zidong Du, Xing Hu, Qi Guo, Yunji Chen
cs.AI

Zusammenfassung

Große Sprachmodelle (LLMs) erzielen eine starke Leistung bei der Programminstandsetzung, leiden jedoch häufig unter Überbearbeitung, bei der übermäßige Änderungen korrekten Code überschreiben und die Fehlerlokalisierung behindern. Wir quantifizieren systematisch deren Auswirkungen und führen die präzise Instandsetzungsaufgabe ein, welche die Wiederverwendung korrekten Codes maximiert, während nur fehlerhafte Teile behoben werden. Aufbauend auf dieser Erkenntnis schlagen wir PRepair vor, ein Framework, das Überbearbeitung reduziert und die Instandsetzungsgenauigkeit verbessert. PRepair besteht aus zwei Komponenten: Self-Breaking, das durch kontrollierte Fehlerinjektion und Min-Max-Sampling diverse fehlerhafte Programme erzeugt, und Self-Repairing, das Modelle mit Edit-Aware Group Relative Policy Optimization (EA-GRPO) unter Verwendung einer bearbeitungsbewussten Belohnung trainiert, um minimale, aber korrekte Änderungen zu fördern. Experimente zeigen, dass PRepair die Instandsetzungspräzision unter fix_1@1, einer Metrik, die Korrektheit und Umfang der Reparatur gemeinsam betrachtet, um bis zu 31,4 % steigert und in Kombination mit spekulativer Bearbeitung den Dekodierdurchsatz signifikant erhöht, was sein Potenzial für präzise und praktische Code-Instandsetzung demonstriert.
English
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 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.
PDF31April 9, 2026