An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation
Not on the map. Why?
Abstract (arXiv)
Millions of open-source projects with numerous bug fixes are available in code repositories. This proliferation of software development histories can be leveraged to learn how to fix common programming bugs. To explore such a potential, we perform an empirical study to assess the feasibility of using Neural Machine Translation techniques for learning bug-fixing patches for real defects. First, we mine millions of bug-fixes from the change histories of projects hosted on GitHub, in order to extract meaningful examples of such bug-fixes. Next, we abstract the buggy and corresponding fixed code, and use them to train an Encoder-Decoder model able to translate buggy code into its fixed version. In our empirical investigation we found that such a model is able to fix thousands of unique buggy methods in the wild. Overall, this model is capable of predicting fixed patches generated by developers in 9-50% of the cases, depending on the number of candidate patches we allow it to generate. Also, the model is able to emulate a variety of different Abstract Syntax Tree operations and generate candidate patches in a split second.
Key facts. Cited by 106 papers in the map (data through 7 Oct 2026). First posted on arXiv 20 Dec 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 18; 2022: 23; 2023: 25; 2024: 18; 2025: 10; 2026: 12.
106 papers.
Sort:
By area:
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2021Unified Pre-training for Program Understanding and Generationcited by 361
- 2021CodeNet: A Large-Scale AI for Code Dataset for Learning a Diversity of Coding Taskscited by 199
- 2024Large Language Models for Education: A Survey and Outlookcited by 185
- 2021Examining Zero-Shot Vulnerability Repair with Large Language Modelscited by 105
- 2022Automating Code Review Activities by Large-Scale Pre-trainingcited by 98
- 2024RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graphcited by 88
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
38 more
- 2022CoCoMIC: Code Completion By Jointly Modeling In-file and Cross-file Contextcited by 64
- 2023Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repaircited by 55
- 2022NatGen: Generative pre-training by "Naturalizing" source codecited by 53
- 2022CodeAttack: Code-Based Adversarial Attacks for Pre-trained Programming Language Modelscited by 48
- 2023LLaMA-Reviewer: Advancing Code Review Automation with Large Language Models through Parameter-Efficient Fine-Tuningcited by 47
- 2023xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrievalcited by 46
- 2024Recent Advances of Foundation Language Models-based Continual Learning: A Surveycited by 46
- 2022CoditT5: Pretraining for Source Code and Natural Language Editingcited by 45
- 2023The Shifted and The Overlooked: A Task-oriented Investigation of User-GPT Interactionscited by 45
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repaircited by 43
- 2023CodeScope: An Execution-based Multilingual Multitask Multidimensional Benchmark for Evaluating LLMs on Code Understanding and Generationcited by 39
- 2021Neural Transfer Learning for Repairing Security Vulnerabilities in C Codecited by 36
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2024AST-T5: Structure-Aware Pretraining for Code Generation and Understandingcited by 32
- 2022ERNIE-Code: Beyond English-Centric Cross-lingual Pretraining for Programming Languagescited by 29
- 2023Better patching using LLM prompting, via Self-Consistencycited by 29
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugscited by 28
- 2021On Multi-Modal Learning of Editing Source Codecited by 25
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
- 2023Exploring Continual Learning for Code Generation Modelscited by 22
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Codecited by 20
- 2023Multi-target Backdoor Attacks for Code Pre-trained Modelscited by 19
- 2021Generating Bug-Fixes Using Pretrained Transformerscited by 18
- 2021DeepDebug: Fixing Python Bugs Using Stack Traces, Backtranslation, and Code Skeletonscited by 17
- 2023CrossCodeBench: Benchmarking Cross-Task Generalization of Source Code Modelscited by 16
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023Better Context Makes Better Code Language Models: A Case Study on Function Call Argument Completioncited by 14
- 2023A Static Evaluation of Code Completion by Large Language Modelscited by 14
- 2023Benchmarking Causal Study to Interpret Large Language Models for Source Codecited by 14
- 2022A Survey on Pretrained Language Models for Neural Code Intelligencecited by 13
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2021Learning C to x86 Translation: An Experiment in Neural Compilationcited by 12
- 2023Toward a Theory of Causation for Interpreting Neural Code Modelscited by 12
- 2022Improving Automated Program Repair with Domain Adaptationcited by 10
- 2023RunBugRun -- An Executable Dataset for Automated Program Repaircited by 10
- 2026Agent-as-a-Router: Agentic Model Routing for Coding Taskscited by 10
- 2024PythonSaga: Redefining the Benchmark to Evaluate Code Generating LLMscited by 9
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammarcited by 8
50 most cited of 106 All 106 (JSON)
- 2026CROCODIL: Cross-Model Code Editing with LLMs3 Sep 2026
- 2026Multi-Perspective Agentic Program Repair via Code Property Graphs and Temporal Execution Graphs14 Jul 2026
- 2026Diff-Based Code Corruption using LLMs for Large-Scale Bugfix Benchmarking27 Jun 2026
- 2026Agent-as-a-Router: Agentic Model Routing for Coding Tasks22 Jun 2026
- 2026EviACT: An Evidence-to-Action Framework for Agentic Program Repair26 May 2026
- 2026Call-Chain-Aware LLM-Based Test Generation for Java Projects23 Apr 2026
- 2026A Metamorphic Testing Approach to Diagnosing Memorization in LLM-Based Program Repair23 Apr 2026
- 2026From Translation to Superset: Benchmark-Driven Evolution of a Production AI Agent from Rust to Python13 Apr 2026
- 2026On the Role of Fault Localization Context for LLM-Based Program Repair7 Apr 2026
- 2026On the Impact of Code Comments for Automated Bug-Fixing: An Empirical Study30 Jan 2026
- 2026Towards Comprehensive Benchmarking Infrastructure for LLMs In Software Engineering28 Jan 2026
- 2026DNF: Dual-Layer Nested Fingerprinting for Large Language Model Intellectual Property Protection13 Jan 2026
38 more
- 2025Diffusion is a code repair operator and generator14 Aug 2025
- 2025Teaching Code Refactoring Using LLMs12 Aug 2025
- 2025BitsAI-Fix: LLM-Driven Approach for Automated Lint Error Resolution in Practice5 Aug 2025
- 2025Accelerating Automatic Program Repair with Dual Retrieval-Augmented Fine-Tuning and Patch Generation on Large Language Models14 Jul 2025
- 2025T3: Multi-level Tree-based Automatic Program Repair with Large Language Models26 Jun 2025
- 2025Self-Bootstrapping Automated Program Repair: Using LLMs to Generate and Evaluate Synthetic Training Data for Bug Repair12 May 2025
- 2025Large Language Models are Qualified Benchmark Builders: Rebuilding Pre-Training Datasets for Advancing Code Intelligence Tasks28 Apr 2025
- 2025Show Me Your Code! Kill Code Poisoning: A Lightweight Method Based on Code Naturalness20 Feb 2025
- 2025Empirical evaluation of LLMs in predicting fixes of Configuration bugs in Smart Home System16 Feb 2025
- 2025Should Code Models Learn Pedagogically? A Preliminary Evaluation of Curriculum Learning for Real-World Software Engineering Tasks6 Feb 2025
- 2024Trust Calibration in IDEs: Paving the Way for Widespread Adoption of AI Refactoring20 Dec 2024
- 2024CodePurify: Defend Backdoor Attacks on Neural Code Models via Entropy-based Purification26 Oct 2024
- 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation22 Oct 2024
- 2024RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graph3 Oct 2024
- 2024Leveraging Reviewer Experience in Code Review Comment Generation17 Sep 2024
- 2024DeepCodeProbe: Towards Understanding What Models Trained on Code Learn11 Jul 2024
- 2024The Rise and Fall(?) of Software Engineering14 Jun 2024
- 2024Recent Advances of Foundation Language Models-based Continual Learning: A Survey28 May 2024
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2024AI for DevSecOps: A Landscape and Future Opportunities7 Apr 2024
- 2024Large Language Models for Education: A Survey and Outlook26 Mar 2024
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testing19 Feb 2024
- 2024Stability Analysis of Various Symbolic Rule Extraction Methods from Recurrent Neural Network4 Feb 2024
- 2024Keeping Deep Learning Models in Check: A History-Based Approach to Mitigate Overfitting18 Jan 2024
- 2024Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translation15 Jan 2024
- 2024Survey of Natural Language Processing for Education: Taxonomy, Systematic Review, and Future Trends15 Jan 2024
- 2024PythonSaga: Redefining the Benchmark to Evaluate Code Generating LLMs8 Jan 2024
- 2024AST-T5: Structure-Aware Pretraining for Code Generation and Understanding5 Jan 2024
- 2023CodeScope: An Execution-based Multilingual Multitask Multidimensional Benchmark for Evaluating LLMs on Code Understanding and Generation14 Nov 2023
- 2023The Shifted and The Overlooked: A Task-oriented Investigation of User-GPT Interactions19 Oct 2023
- 2023Program Repair with Minimal Edits Using CodeT526 Sep 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
- 2023Benchmarking Causal Study to Interpret Large Language Models for Source Code23 Aug 2023
- 2023LLaMA-Reviewer: Advancing Code Review Automation with Large Language Models through Parameter-Efficient Fine-Tuning22 Aug 2023
- 2023Towards Automatically Addressing Self-Admitted Technical Debt: How Far Are We?17 Aug 2023
- 2023Exploring Continual Learning for Code Generation Models5 Jul 2023
50 newest of 106 All 106 (JSON)
- 2023Multi-target Backdoor Attacks for Code Pre-trained Modelscited by 19
- 2022Poison Attack and Defense on Deep Source Code Processing Modelscited by 8
- 2025Show Me Your Code! Kill Code Poisoning: A Lightweight Method Based on Code Naturalnesscited by 3
- 2024CodePurify: Defend Backdoor Attacks on Neural Code Models via Entropy-based Purificationcited by 0
- 2026DNF: Dual-Layer Nested Fingerprinting for Large Language Model Intellectual Property Protectioncited by 0
- 2026DNF: Dual-Layer Nested Fingerprinting for Large Language Model Intellectual Property Protection13 Jan 2026
- 2025Show Me Your Code! Kill Code Poisoning: A Lightweight Method Based on Code Naturalness20 Feb 2025
- 2024CodePurify: Defend Backdoor Attacks on Neural Code Models via Entropy-based Purification26 Oct 2024
- 2023Multi-target Backdoor Attacks for Code Pre-trained Models14 Jun 2023
- 2022Poison Attack and Defense on Deep Source Code Processing Models31 Oct 2022
- 2026Agent-as-a-Router: Agentic Model Routing for Coding Taskscited by 10
- 2026EviACT: An Evidence-to-Action Framework for Agentic Program Repaircited by 3
- 2026From Translation to Superset: Benchmark-Driven Evolution of a Production AI Agent from Rust to Pythoncited by 1
- 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
- 2026Agent-as-a-Router: Agentic Model Routing for Coding Tasks22 Jun 2026
- 2026EviACT: An Evidence-to-Action Framework for Agentic Program Repair26 May 2026
- 2026From Translation to Superset: Benchmark-Driven Evolution of a Production AI Agent from Rust to Python13 Apr 2026
- 2025Diffusion is a code repair operator and generatorcited by 3
- 2025Diffusion is a code repair operator and generator14 Aug 2025
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2021Unified Pre-training for Program Understanding and Generationcited by 361
- 2021CodeNet: A Large-Scale AI for Code Dataset for Learning a Diversity of Coding Taskscited by 199
- 2024Large Language Models for Education: A Survey and Outlookcited by 185
- 2021Examining Zero-Shot Vulnerability Repair with Large Language Modelscited by 105
- 2022Automating Code Review Activities by Large-Scale Pre-trainingcited by 98
- 2024RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graphcited by 88
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
12 most cited of 91 All 91 (JSON)
- 2026CROCODIL: Cross-Model Code Editing with LLMs3 Sep 2026
- 2026Diff-Based Code Corruption using LLMs for Large-Scale Bugfix Benchmarking27 Jun 2026
- 2026Call-Chain-Aware LLM-Based Test Generation for Java Projects23 Apr 2026
- 2026A Metamorphic Testing Approach to Diagnosing Memorization in LLM-Based Program Repair23 Apr 2026
- 2026On the Role of Fault Localization Context for LLM-Based Program Repair7 Apr 2026
- 2026On the Impact of Code Comments for Automated Bug-Fixing: An Empirical Study30 Jan 2026
- 2026Towards Comprehensive Benchmarking Infrastructure for LLMs In Software Engineering28 Jan 2026
- 2025Teaching Code Refactoring Using LLMs12 Aug 2025
- 2025BitsAI-Fix: LLM-Driven Approach for Automated Lint Error Resolution in Practice5 Aug 2025
- 2025Large Language Models are Qualified Benchmark Builders: Rebuilding Pre-Training Datasets for Advancing Code Intelligence Tasks28 Apr 2025
- 2025Empirical evaluation of LLMs in predicting fixes of Configuration bugs in Smart Home System16 Feb 2025
- 2025Should Code Models Learn Pedagogically? A Preliminary Evaluation of Curriculum Learning for Real-World Software Engineering Tasks6 Feb 2025
12 newest of 91 All 91 (JSON)