SEMay 10, 2021

Neural Program Repair with Execution-based Backpropagation

arXiv:2105.04123v3222 citations
Originality Highly original
AI Analysis

This addresses the issue of generating compilable and non-overfitting patches in automatic program repair, representing a strong specific gain in the field.

The paper tackles the problem of low-quality patches in neural program repair by proposing RewardRepair, a model that uses compilation and test execution information in the loss function, resulting in 207 bugs fixed and up to 45.3% compilable patches.

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 repair model. RewardRepair correctly repairs 207 bugs over four benchmarks. we report on repair success for 121 bugs that are fixed for the first time in the literature. Also, RewardRepair produces up to 45.3% of compilable patches, an improvement over the 39% by the state-of-the-art.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes