Neural Program Repair with Execution-based Backpropagation
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 50 papers in the map (data through 7 Oct 2026). First posted on arXiv 10 May 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 3; 2023: 21; 2024: 11; 2025: 8; 2026: 6.
50 papers.
Sort:
By area:
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repaircited by 225
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPTcited by 125
- 2024CodeR: Issue Resolving with Multi-Agent and Task Graphscited by 89
- 2023Is ChatGPT the Ultimate Programming Assistant -- How far is it?cited by 72
- 2023Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repaircited by 55
- 2023How Effective Are Neural Networks for Fixing Security Vulnerabilitiescited by 50
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repaircited by 43
- 2023Conversational Automated Program Repaircited by 41
- 2024Automatic Programming: Large Language Models and Beyondcited by 35
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2025Understanding Code Agent Behaviour: An Empirical Study of Success and Failure Trajectoriescited by 30
- 2023Better patching using LLM prompting, via Self-Consistencycited by 29
38 more
- 2024Rectifier: Code Translation with Corrector via LLMscited by 20
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2024Aligning the Objective of LLM-based Program Repaircited by 12
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoningcited by 11
- 2022Improving Automated Program Repair with Domain Adaptationcited by 10
- 2023RunBugRun -- An Executable Dataset for Automated Program Repaircited by 10
- 2023Extending the Frontier of ChatGPT: Code Generation and Debuggingcited by 9
- 2023Exploiting Code Symmetries for Learning Program Semanticscited by 9
- 2022Is this Change the Answer to that Problem? Correlating Descriptions of Bug and Code Changes for Evaluating Patch Correctnesscited by 7
- 2023LExecutor: Learning-Guided Executioncited by 7
- 2023Revisiting the Plastic Surgery Hypothesis via Large Language Modelscited by 7
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
- 2025Repair-R1: Better Test Before Repaircited by 6
- 2023The EarlyBIRD Catches the Bug: On Exploiting Early Layers of Encoder Models for More Efficient Code Classificationcited by 5
- 2023Frustrated with Code Quality Issues? LLMs can Help!cited by 5
- 2023Exploring the Limits of ChatGPT in Software Security Applicationscited by 5
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testingcited by 5
- 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generationcited by 5
- 2021Self-Supervised Learning to Prove Equivalence Between Straight-Line Programs via Rewrite Rulescited by 3
- 2025Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spacescited by 3
- 2025DynaFix: Iterative Automated Program Repair Driven by Execution-Level Dynamic Informationcited by 3
- 2025Beyond Accuracy: Behavioral Dynamics of Agentic Multi-Hunk Repaircited by 2
- 2023An Exploratory Literature Study on Sharing and Energy Use of Language Models for Source Codecited by 1
- 2024PatUntrack: Automated Generating Patch Examples for Issue Reports without Tracked Insecure Codecited by 1
- 2025From Empirical Evaluation to Context-Aware Enhancement: Repairing Regression Errors with LLMscited by 1
- 2026StepCodeReasoner: Aligning Code Reasoning with Stepwise Execution Traces via Reinforcement Learningcited by 1
- 2026Multi-Perspective Agentic Program Repair via Code Property Graphs and Temporal Execution Graphscited by 1
- 2022A Retrospective on ICSE 2022cited by 0
- 2023On ML-Based Program Translation: Perils and Promisescited by 0
- 2024Peer-aided Repairer: Empowering Large Language Models to Repair Advanced Student Assignmentscited by 0
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repaircited by 0
- 2025Meta-autoencoders: An approach to discovery and representation of relationships between dynamically evolving classescited by 0
- 2025Signature in Code Backdoor Detection, how far are we?cited by 0
- 2026On the Impact of Code Comments for Automated Bug-Fixing: An Empirical Studycited by 0
- 2026BootstrapAgent: Distilling Repository Setup into Reusable Agent Knowledgecited by 0
- 2026NeuroNL2LTL: A Neurosymbolic Framework for Natural Language Translation of Linear Temporal Logiccited by 0
- 2026AssumptionMiner: Extracting, Tracing, and Revising Implicit Assumptions in LLM Code Generationcited by 0
- 2026AssumptionMiner: Extracting, Tracing, and Revising Implicit Assumptions in LLM Code Generation24 Jul 2026
- 2026Multi-Perspective Agentic Program Repair via Code Property Graphs and Temporal Execution Graphs14 Jul 2026
- 2026NeuroNL2LTL: A Neurosymbolic Framework for Natural Language Translation of Linear Temporal Logic20 May 2026
- 2026BootstrapAgent: Distilling Repository Setup into Reusable Agent Knowledge15 May 2026
- 2026StepCodeReasoner: Aligning Code Reasoning with Stepwise Execution Traces via Reinforcement Learning12 May 2026
- 2026On the Impact of Code Comments for Automated Bug-Fixing: An Empirical Study30 Jan 2026
- 2025DynaFix: Iterative Automated Program Repair Driven by Execution-Level Dynamic Information31 Dec 2025
- 2025Beyond Accuracy: Behavioral Dynamics of Agentic Multi-Hunk Repair14 Nov 2025
- 2025Understanding Code Agent Behaviour: An Empirical Study of Success and Failure Trajectories31 Oct 2025
- 2025Signature in Code Backdoor Detection, how far are we?15 Oct 2025
- 2025Repair-R1: Better Test Before Repair30 Jul 2025
- 2025Meta-autoencoders: An approach to discovery and representation of relationships between dynamically evolving classes12 Jul 2025
38 more
- 2025From Empirical Evaluation to Context-Aware Enhancement: Repairing Regression Errors with LLMs16 Jun 2025
- 2025Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spaces23 May 2025
- 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation22 Oct 2024
- 2024PatUntrack: Automated Generating Patch Examples for Issue Reports without Tracked Insecure Code16 Aug 2024
- 2024Rectifier: Code Translation with Corrector via LLMs10 Jul 2024
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repair24 Jun 2024
- 2024CodeR: Issue Resolving with Multi-Agent and Task Graphs3 Jun 2024
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2024Automatic Programming: Large Language Models and Beyond3 May 2024
- 2024Aligning the Objective of LLM-based Program Repair13 Apr 2024
- 2024Peer-aided Repairer: Empowering Large Language Models to Repair Advanced Student Assignments2 Apr 2024
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repair25 Mar 2024
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testing19 Feb 2024
- 2023Exploring the Limits of ChatGPT in Software Security Applications8 Dec 2023
- 2023Frustrated with Code Quality Issues? LLMs can Help!22 Sep 2023
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair12 Sep 2023
- 2023Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repair1 Sep 2023
- 2023Exploiting Code Symmetries for Learning Program Semantics7 Aug 2023
- 2023Extending the Frontier of ChatGPT: Code Generation and Debugging17 Jul 2023
- 2023An Exploratory Literature Study on Sharing and Energy Use of Language Models for Source Code5 Jul 2023
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023Better patching using LLM prompting, via Self-Consistency31 May 2023
- 2023How Effective Are Neural Networks for Fixing Security Vulnerabilities29 May 2023
- 2023The EarlyBIRD Catches the Bug: On Exploiting Early Layers of Encoder Models for More Efficient Code Classification8 May 2023
- 2023ITER: Iterative Neural Repair for Multi-Location Patches24 Apr 2023
- 2023Is ChatGPT the Ultimate Programming Assistant -- How far is it?24 Apr 2023
- 2023RunBugRun -- An Executable Dataset for Automated Program Repair3 Apr 2023
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPT1 Apr 2023
- 2023Revisiting the Plastic Surgery Hypothesis via Large Language Models18 Mar 2023
- 2023On ML-Based Program Translation: Perils and Promises21 Feb 2023
- 2023LExecutor: Learning-Guided Execution5 Feb 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
- 2023Conversational Automated Program Repair30 Jan 2023
- 2023Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning3 Jan 2023
- 2022Improving Automated Program Repair with Domain Adaptation21 Dec 2022
- 2022Is this Change the Answer to that Problem? Correlating Descriptions of Bug and Code Changes for Evaluating Patch Correctness8 Aug 2022
- 2022A Retrospective on ICSE 202226 Jul 2022
- 2021Self-Supervised Learning to Prove Equivalence Between Straight-Line Programs via Rewrite Rules22 Sep 2021
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repaircited by 225
- 2025Understanding Code Agent Behaviour: An Empirical Study of Success and Failure Trajectoriescited by 30
- 2025Beyond Accuracy: Behavioral Dynamics of Agentic Multi-Hunk Repaircited by 2
- 2026Multi-Perspective Agentic Program Repair via Code Property Graphs and Temporal Execution Graphscited by 1
- 2026Multi-Perspective Agentic Program Repair via Code Property Graphs and Temporal Execution Graphs14 Jul 2026
- 2025Beyond Accuracy: Behavioral Dynamics of Agentic Multi-Hunk Repair14 Nov 2025
- 2025Understanding Code Agent Behaviour: An Empirical Study of Success and Failure Trajectories31 Oct 2025
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repair25 Mar 2024
- 2023Better patching using LLM prompting, via Self-Consistencycited by 29
- 2023Better patching using LLM prompting, via Self-Consistency31 May 2023
- 2025Signature in Code Backdoor Detection, how far are we?cited by 0
- 2025Signature in Code Backdoor Detection, how far are we?15 Oct 2025
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPTcited by 125
- 2024CodeR: Issue Resolving with Multi-Agent and Task Graphscited by 89
- 2023Is ChatGPT the Ultimate Programming Assistant -- How far is it?cited by 72
- 2023Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repaircited by 55
- 2023How Effective Are Neural Networks for Fixing Security Vulnerabilitiescited by 50
- 2023Conversational Automated Program Repaircited by 41
- 2024Automatic Programming: Large Language Models and Beyondcited by 35
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2024Rectifier: Code Translation with Corrector via LLMscited by 20
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2024Aligning the Objective of LLM-based Program Repaircited by 12
12 most cited of 42 All 42 (JSON)
- 2026AssumptionMiner: Extracting, Tracing, and Revising Implicit Assumptions in LLM Code Generation24 Jul 2026
- 2026NeuroNL2LTL: A Neurosymbolic Framework for Natural Language Translation of Linear Temporal Logic20 May 2026
- 2026BootstrapAgent: Distilling Repository Setup into Reusable Agent Knowledge15 May 2026
- 2026On the Impact of Code Comments for Automated Bug-Fixing: An Empirical Study30 Jan 2026
- 2025DynaFix: Iterative Automated Program Repair Driven by Execution-Level Dynamic Information31 Dec 2025
- 2025Repair-R1: Better Test Before Repair30 Jul 2025
- 2025Meta-autoencoders: An approach to discovery and representation of relationships between dynamically evolving classes12 Jul 2025
- 2025From Empirical Evaluation to Context-Aware Enhancement: Repairing Regression Errors with LLMs16 Jun 2025
- 2025Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spaces23 May 2025
- 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation22 Oct 2024
- 2024PatUntrack: Automated Generating Patch Examples for Issue Reports without Tracked Insecure Code16 Aug 2024
- 2024Rectifier: Code Translation with Corrector via LLMs10 Jul 2024
12 newest of 42 All 42 (JSON)