A Syntax-Guided Edit Decoder for Neural Program Repair
Not on the map. Why?
Abstract (arXiv)
Automated Program Repair (APR) helps improve the efficiency of software development and maintenance. Recent APR techniques use deep learning, particularly the encoder-decoder architecture, to generate patches. Though existing DL-based APR approaches have proposed different encoder architectures, the decoder remains to be the standard one, which generates a sequence of tokens one by one to replace the faulty statement. This decoder has multiple limitations: 1) allowing to generate syntactically incorrect programs, 2) inefficiently representing small edits, and 3) not being able to generate project-specific identifiers. In this paper, we propose Recoder, a syntax-guided edit decoder with placeholder generation. Recoder is novel in multiple aspects: 1) Recoder generates edits rather than modified code, allowing efficient representation of small edits; 2) Recoder is syntax-guided, with the novel provider/decider architecture to ensure the syntactic correctness of the patched program and accurate generation; 3) Recoder generates placeholders that could be instantiated as project-specific identifiers later. We conduct experiments to evaluate Recoder on 395 bugs from Defects4J v1.2 and 420 additional bugs from Defects4J v2.0. Our results show that Recoder repairs 53 bugs on Defects4J v1.2, which achieves 21.4% improvement over the previous state-of-the-art approach for single-hunk bugs (TBar). Importantly, to our knowledge, Recoder is the first DL-based APR approach that has outperformed the traditional APR approaches on this dataset. Furthermore, Recoder also repairs 19 bugs on the additional bugs from Defects4J v2.0, which is 137.5% more than TBar (8 bugs) and 850% more than SimFix (2 bugs). This result suggests that Recoder has better generalizability than existing APR approaches.
Key facts. Cited by 57 papers in the map (data through 14 Oct 2026). Builds on 30 of its 76 references that are in the map. First posted on arXiv 15 Jun 2021.
Builds on
30 of 76 references.
References · 30
- 2017Attention Is All You Needcited by 60,361
- 2014Adam: A Method for Stochastic Optimizationcited by 37,240
- 2016Semi-Supervised Classification with Graph Convolutional Networkscited by 11,361
- 2014Neural Machine Translation by Jointly Learning to Align and Translatecited by 4,548
- 2013Efficient Estimation of Word Representations in Vector Spacecited by 4,375
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 145
- 2020Graph-based, Self-Supervised Program Repair from Diagnostic Feedbackcited by 94
- 2017Abstract Syntax Networks for Code Generation and Semantic Parsingcited by 92
- 2016Latent Predictor Networks for Code Generationcited by 73
- 2019TBar: Revisiting Template-based Automated Program Repaircited by 65
- 2019TreeGen: A Tree-Based Transformer Architecture for Code Generationcited by 58
- 2019Getafix: Learning to Fix Bugs Automaticallycited by 41
18 more
- 2018Nopol: Automatic Repair of Conditional Statement Bugs in Java Programscited by 32
- 2018A Grammar-Based Structural CNN Decoder for Code Generationcited by 29
- 2019Learning to Fix Build Errors with Graph2Diff Neural Networkscited by 26
- 2020NLocalSAT: Boosting Local Search with Solution Predictioncited by 25
- 2018Automatic Software Repair: a Bibliographycited by 24
- 2018FixMiner: Mining Relevant Fix Patterns for Automated Program Repaircited by 22
- 2018AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violationscited by 22
- 2018Practical Program Repair via Bytecode Mutationcited by 19
- 2016Learning Syntactic Program Transformations from Examplescited by 17
- 2020On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programscited by 16
- 2016Precise Condition Synthesis for Program Repaircited by 13
- 2019Empirical Review of Java Program Repair Tools: A Large-Scale Experiment on 2,141 Bugs and 23,551 Repair Attemptscited by 12
- 2019Harnessing Evolution for Multi-Hunk Program Repaircited by 12
- 2018Learning to Generate Corrective Patches using Neural Machine Translationcited by 10
- 2020OCoR: An Overlapping-Aware Code Retrievercited by 9
- 2021Extracting Concise Bug-Fixing Patches from Human-Written Patches in Version Control Systemscited by 9
- 2018Learning to Synthesizecited by 5
- 2013MintHint: Automated Synthesis of Repair Hintscited by 1
Built on by
Citing papers per year: 2021: 1; 2022: 7; 2023: 16; 2024: 20; 2025: 8; 2026: 5.
57 papers.
Sort:
By area:
- 2024Agentless: Demystifying LLM-based Software Engineering Agentscited by 421
- 2024AutoCodeRover: Autonomous Program Improvementcited by 278
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repaircited by 232
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPTcited by 125
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Modelscited by 119
- 2024CodeR: Issue Resolving with Multi-Agent and Task Graphscited by 91
- 2024Exploring and Unleashing the Power of Large Language Models in Automated Code Translationcited by 57
- 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 52
- 2023RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repaircited by 50
- 2023xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrievalcited by 47
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repaircited by 44
38 more
- 2023A New Era in Software Security: Towards Self-Healing Software via Large Language Models and Formal Verificationcited by 42
- 2023Conversational Automated Program Repaircited by 41
- 2024Automatic Programming: Large Language Models and Beyondcited by 36
- 2024UniDebugger: Hierarchical Multi-Agent Framework for Unified Software Debuggingcited by 35
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2024Search-Based LLMs for Code Optimizationcited by 28
- 2024Rango: Adaptive Retrieval-Augmented Proving for Automated Software Verificationcited by 27
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 24
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2022Neurosymbolic Repair for Low-Code Formula Languagescited by 12
- 2024Aligning the Objective of LLM-based Program Repaircited by 12
- 2022Poison Attack and Defense on Deep Source Code Processing Modelscited by 11
- 2022Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5cited by 10
- 2022Improving Automated Program Repair with Domain Adaptationcited by 10
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammarcited by 8
- 2023Revisiting the Plastic Surgery Hypothesis via Large Language Modelscited by 7
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Modelscited by 7
- 2023Exploring the Limits of ChatGPT in Software Security Applicationscited by 6
- 2023Frustrated with Code Quality Issues? LLMs can Help!cited 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
- 2025PredicateFix: Repairing Static Analysis Alerts with Bridging Predicatescited by 5
- 2024AI for DevSecOps: A Landscape and Future Opportunitiescited by 4
- 2024Automatic High-quality Verilog Assertion Generation through Subtask-Focused Fine-Tuned LLMs and Iterative Promptingcited by 4
- 2024Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repaircited by 4
- 2022NeuDep: Neural Binary Memory Dependence Analysiscited by 3
- 2024QEDCartographer: Automating Formal Verification Using Reward-Free Reinforcement Learningcited by 3
- 2025Evaluating the Generalizability of LLMs in Automated Program Repaircited by 3
- 2025The Impact of Fine-tuning Large Language Models on Automated Program Repaircited 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
- 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
- 2026Multi-Perspective Agentic Program Repair via Code Property Graphs and Temporal Execution Graphscited by 1
- 2026DiDPO: Diff-in-Diff Policy Optimization for Coding Agent Trainingcited by 1
50 most cited of 57 All 57 (JSON)
- 2026DiDPO: Diff-in-Diff Policy Optimization for Coding Agent Training7 Aug 2026
- 2026The Order Is the Guarantee: Verifier-Budgeted Code Deletion with Static-First Learned Proposals5 Aug 2026
- 2026Multi-Perspective Agentic Program Repair via Code Property Graphs and Temporal Execution Graphs14 Jul 2026
- 2026LogicEval: A Systematic Framework for Evaluating Automated Repair Techniques for Logical Vulnerabilities in Real-World Software14 Apr 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
- 2025Selecting and Combining Large Language Models for Scalable Code Clone Detection17 Oct 2025
- 2025The Impact of Fine-tuning Large Language Models on Automated Program Repair26 Jul 2025
- 2025From Empirical Evaluation to Context-Aware Enhancement: Repairing Regression Errors with LLMs16 Jun 2025
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Models5 May 2025
- 2025PredicateFix: Repairing Static Analysis Alerts with Bridging Predicates15 Mar 2025
38 more
- 2025Evaluating the Generalizability of LLMs in Automated Program Repair12 Mar 2025
- 2024Rango: Adaptive Retrieval-Augmented Proving for Automated Software Verification18 Dec 2024
- 2024Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repair5 Dec 2024
- 2024Automatic High-quality Verilog Assertion Generation through Subtask-Focused Fine-Tuned LLMs and Iterative Prompting23 Nov 2024
- 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation22 Oct 2024
- 2024Search-Based LLMs for Code Optimization22 Aug 2024
- 2024QEDCartographer: Automating Formal Verification Using Reward-Free Reinforcement Learning17 Aug 2024
- 2024PatUntrack: Automated Generating Patch Examples for Issue Reports without Tracked Insecure Code16 Aug 2024
- 2024Agentless: Demystifying LLM-based Software Engineering Agents1 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
- 2024UniDebugger: Hierarchical Multi-Agent Framework for Unified Software Debugging26 Apr 2024
- 2024Exploring and Unleashing the Power of Large Language Models in Automated Code Translation23 Apr 2024
- 2024Aligning the Objective of LLM-based Program Repair13 Apr 2024
- 2024AutoCodeRover: Autonomous Program Improvement8 Apr 2024
- 2024AI for DevSecOps: A Landscape and Future Opportunities7 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
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repair25 Dec 2023
- 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
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023How Effective Are Neural Networks for Fixing Security Vulnerabilities29 May 2023
- 2023A New Era in Software Security: Towards Self-Healing Software via Large Language Models and Formal Verification24 May 2023
- 2023ITER: Iterative Neural Repair for Multi-Location Patches24 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
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Models8 Mar 2023
- 2023xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrieval6 Mar 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
- 2023Conversational Automated Program Repair30 Jan 2023
- 2022Neural Transition-based Parsing of Library Deprecations23 Dec 2022
50 newest of 57 All 57 (JSON)
- 2024Agentless: Demystifying LLM-based Software Engineering Agentscited by 421
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repaircited by 232
- 2024UniDebugger: Hierarchical Multi-Agent Framework for Unified Software Debuggingcited by 35
- 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
- 2026DiDPO: Diff-in-Diff Policy Optimization for Coding Agent Trainingcited by 1
- 2026DiDPO: Diff-in-Diff Policy Optimization for Coding Agent Training7 Aug 2026
- 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
- 2024Agentless: Demystifying LLM-based Software Engineering Agents1 Jul 2024
- 2024UniDebugger: Hierarchical Multi-Agent Framework for Unified Software Debugging26 Apr 2024
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repair25 Mar 2024
- 2024AutoCodeRover: Autonomous Program Improvementcited by 278
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPTcited by 125
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Modelscited by 119
- 2024CodeR: Issue Resolving with Multi-Agent and Task Graphscited by 91
- 2024Exploring and Unleashing the Power of Large Language Models in Automated Code Translationcited by 57
- 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 52
- 2023RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repaircited by 50
- 2023xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrievalcited by 47
- 2023A New Era in Software Security: Towards Self-Healing Software via Large Language Models and Formal Verificationcited by 42
- 2023Conversational Automated Program Repaircited by 41
- 2024Automatic Programming: Large Language Models and Beyondcited by 36
12 most cited of 46 All 46 (JSON)
- 2026The Order Is the Guarantee: Verifier-Budgeted Code Deletion with Static-First Learned Proposals5 Aug 2026
- 2026LogicEval: A Systematic Framework for Evaluating Automated Repair Techniques for Logical Vulnerabilities in Real-World Software14 Apr 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
- 2025Selecting and Combining Large Language Models for Scalable Code Clone Detection17 Oct 2025
- 2025The Impact of Fine-tuning Large Language Models on Automated Program Repair26 Jul 2025
- 2025From Empirical Evaluation to Context-Aware Enhancement: Repairing Regression Errors with LLMs16 Jun 2025
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Models5 May 2025
- 2025Evaluating the Generalizability of LLMs in Automated Program Repair12 Mar 2025
- 2024Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repair5 Dec 2024
- 2024Automatic High-quality Verilog Assertion Generation through Subtask-Focused Fine-Tuned LLMs and Iterative Prompting23 Nov 2024
- 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation22 Oct 2024
12 newest of 46 All 46 (JSON)