TL;DR
RewardRepair enhances neural program repair by integrating compilation and test execution feedback into the training process, significantly increasing patch quality and success rates.
Contribution
It introduces a novel loss function based on program compilation and testing, improving neural repair models' effectiveness and patch quality.
Findings
Correctly repairs 207 bugs across four benchmarks.
Fixes 121 bugs for the first time in literature.
Achieves up to 45.3% compilable patches, surpassing previous state-of-the-art.
Abstract
Neural machine translation (NMT) architectures have achieved promising results for automatic program repair. Yet, they have the limitation of generating low-quality patches (e.g., not compilable patches). This is because the existing works only optimize a purely syntactic loss function based on characters and tokens without incorporating program-specific information during neural network weight optimization. In this paper, we propose a novel program repair model called RewardRepair. The core novelty of RewardRepair is to improve NMT-based program repair with a loss function based on program compilation and test execution information, rewarding the network to produce patches that compile and that do not overfit. We conduct several experiments to evaluate RewardRepair showing that it is feasible and effective to use compilation and test execution results to optimize the underlying neural…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
