ChatPaper.aiChatPaper

QiMeng-PRepair: Nauwkeurige Codereparatie via Bewerkingsbewuste Beloningsoptimalisatie

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

April 7, 2026
Auteurs: 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

Samenvatting

Grote Taalmodellen (LLM's) behalen sterke prestaties bij programmareparatie, maar lijden vaak aan overmatige bewerking, waarbij excessieve wijzigingen correcte code overschrijven en buglokalisatie belemmeren. Wij kwantificeren systematisch de impact hiervan en introduceren de precieze reparatietaak, waarbij het hergebruik van correcte code wordt gemaximaliseerd terwijl alleen de foutieve delen worden gerepareerd. Voortbouwend op dit inzicht stellen wij PRepair voor, een raamwerk dat overbewerking vermindert en de reparatienauwkeurigheid verbetert. PRepair heeft twee componenten: Self-Breaking, dat diverse foutieve programma's genereert via gecontroleerde buginjectie en min-max sampling, en Self-Repairing, dat modellen traint met Edit-Aware Group Relative Policy Optimization (EA-GRPO) met behulp van een bewerkingsbewuste beloning om minimale doch correcte bewerkingen aan te moedigen. Experimenten tonen aan dat PRepair de reparatienauwkeurigheid met tot 31,4% verbetert onder fix_1@1, een metriek die zowel reparatienauwkeurigheid als -omvang gezamenlijk beschouwt, en de decodeersnelheid aanzienlijk verhoogt in combinatie met speculatieve bewerking, wat het potentieel aantoont voor precieze en praktische codereparatie.
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