ChatPaper.aiChatPaper

QiMeng-PRepair : Réparation précise de code par optimisation de récompense sensible aux modifications

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

Résumé

Les modèles de langage de grande taille (LLM) obtiennent des performances solides en réparation de programmes mais souffrent souvent de sur-modification, où des modifications excessives écrasent du code correct et entravent la localisation des bogues. Nous quantifions systématiquement son impact et introduisons la tâche de réparation précise, qui maximise la réutilisation du code correct tout en corrigeant uniquement les parties boguées. Sur la base de cette idée, nous proposons PRepair, un cadre qui atténue la sur-modification et améliore la précision des réparations. PRepair comprend deux composants : l'auto-corruption, qui génère des programmes bogués diversifiés via l'injection contrôlée de bogues et un échantillonnage min-max, et l'auto-réparation, qui entraîne les modèles avec l'optimisation de politique relative par groupe sensible aux modifications (EA-GRPO) en utilisant une récompense sensible aux modifications pour encourager des éditions minimales mais correctes. Les expériences montrent que PRepair améliore la précision des réparations jusqu'à 31,4 % selon la métrique fix_1@1, qui considère conjointement la correction et l'étendue des réparations, et augmente significativement le débit de décodage lorsqu'il est combiné à l'édition spéculative, démontrant son potentiel pour une réparation de code précise et pratique.
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