Neural Program Repair by Jointly Learning to Localize and Repair
Not on the map. Why?
Abstract (arXiv)
Due to its potential to improve programmer productivity and software quality, automated program repair has been an active topic of research. Newer techniques harness neural networks to learn directly from examples of buggy programs and their fixes. In this work, we consider a recently identified class of bugs called variable-misuse bugs. The state-of-the-art solution for variable misuse enumerates potential fixes for all possible bug locations in a program, before selecting the best prediction. We show that it is beneficial to train a model that jointly and directly localizes and repairs variable-misuse bugs. We present multi-headed pointer networks for this purpose, with one head each for localization and repair. The experimental results show that the joint model significantly outperforms an enumerative solution that uses a pointer based model for repair alone.
Key facts. Cited by 39 papers in the map (data through 7 Oct 2026). First posted on arXiv 3 Apr 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 8; 2022: 15; 2023: 9; 2024: 3; 2025: 2; 2026: 2.
39 papers.
Sort:
By area:
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repaircited by 225
- 2023Hypothesis Search: Inductive Reasoning with Language Modelscited by 119
- 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
- 2021Self-Supervised Bug Detection and Repaircited by 59
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugscited by 28
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2021Understanding Neural Code Intelligence Through Program Simplificationcited by 20
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Codecited by 20
- 2021Memorization and Generalization in Neural Code Intelligence Modelscited by 17
- 2022On Distribution Shift in Learning-based Bug Detectorscited by 15
27 more
- 2025From Code Foundation Models to Agents and Applications: A Comprehensive Survey and Practical Guide to Code Intelligencecited by 13
- 2022Neurosymbolic Repair for Low-Code Formula Languagescited by 12
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptionscited by 11
- 2022Improving Automated Program Repair with Domain Adaptationcited by 10
- 2022What does Transformer learn about source code?cited by 9
- 2022Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5cited by 9
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammarcited by 8
- 2023LExecutor: Learning-Guided Executioncited by 7
- 2024DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language Modelscited by 7
- 2022Learning Program Representations with a Tree-Structured Transformercited by 6
- 2023Learning Defect Prediction from Unrealistic Datacited by 5
- 2022A Survey of Deep Learning Models for Structural Code Understandingcited by 4
- 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixescited by 4
- 2022AdaptivePaste: Code Adaptation through Learning Semantics-aware Variable Usage Representationscited by 3
- 2025Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spacescited by 3
- 2021Jointly Learning to Repair Code and Generate Commit Messagecited by 2
- 2022JEMMA: An Extensible Java Dataset for ML4Code Applicationscited by 2
- 2023Study of Distractors in Neural Models of Codecited by 2
- 2023Transfer Attacks and Defenses for Large Language Models on Coding Taskscited by 2
- 2023Neuro-Symbolic Execution of Generic Source Codecited by 1
- 2024The Power of Types: Exploring the Impact of Type Checking on Neural Bug Detection in Dynamically Typed Languagescited by 1
- 2026AOI: Turning Failed Trajectories into Training Signals for Autonomous Cloud Diagnosiscited by 1
- 2021DeepMutants: Training neural bug detectors with contextual mutationscited by 0
- 2022Example-based Synthesis of Static Analysis Rulescited by 0
- 2022Infrared: A Meta Bug Detectorcited by 0
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Versioncited by 0
- 2026Coding in a Bubble? Evaluating LLMs in Resolving Context Adaptation Bugs During Code Adaptationcited by 0
- 2026AOI: Turning Failed Trajectories into Training Signals for Autonomous Cloud Diagnosis3 Mar 2026
- 2026Coding in a Bubble? Evaluating LLMs in Resolving Context Adaptation Bugs During Code Adaptation10 Jan 2026
- 2025From Code Foundation Models to Agents and Applications: A Comprehensive Survey and Practical Guide to Code Intelligence23 Nov 2025
- 2025Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spaces23 May 2025
- 2024The Power of Types: Exploring the Impact of Type Checking on Neural Bug Detection in Dynamically Typed Languages22 Nov 2024
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repair25 Mar 2024
- 2024DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language Models19 Feb 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023Transfer Attacks and Defenses for Large Language Models on Coding Tasks22 Nov 2023
- 2023Learning Defect Prediction from Unrealistic Data2 Nov 2023
- 2023Hypothesis Search: Inductive Reasoning with Language Models11 Sep 2023
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Version24 Jul 2023
27 more
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugs6 Jun 2023
- 2023Neuro-Symbolic Execution of Generic Source Code23 Mar 2023
- 2023Study of Distractors in Neural Models of Code3 Mar 2023
- 2023LExecutor: Learning-Guided Execution5 Feb 2023
- 2022Improving Automated Program Repair with Domain Adaptation21 Dec 2022
- 2022JEMMA: An Extensible Java Dataset for ML4Code Applications18 Dec 2022
- 2022Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT527 Nov 2022
- 2022Infrared: A Meta Bug Detector18 Sep 2022
- 2022Learning Program Representations with a Tree-Structured Transformer18 Aug 2022
- 2022Neurosymbolic Repair for Low-Code Formula Languages24 Jul 2022
- 2022What does Transformer learn about source code?18 Jul 2022
- 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixes1 Jul 2022
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Code24 May 2022
- 2022AdaptivePaste: Code Adaptation through Learning Semantics-aware Variable Usage Representations23 May 2022
- 2022A Survey of Deep Learning Models for Structural Code Understanding3 May 2022
- 2022On Distribution Shift in Learning-based Bug Detectors21 Apr 2022
- 2022Example-based Synthesis of Static Analysis Rules19 Apr 2022
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammar13 Apr 2022
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptions7 Mar 2022
- 2021A Survey on Machine Learning Techniques for Source Code Analysis18 Oct 2021
- 2021Jointly Learning to Repair Code and Generate Commit Message25 Sep 2021
- 2021DeepMutants: Training neural bug detectors with contextual mutations14 Jul 2021
- 2021Memorization and Generalization in Neural Code Intelligence Models16 Jun 2021
- 2021Break-It-Fix-It: Unsupervised Learning for Program Repair11 Jun 2021
- 2021Understanding Neural Code Intelligence Through Program Simplification7 Jun 2021
- 2021Self-Supervised Bug Detection and Repair26 May 2021
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation9 Feb 2021
- 2023Hypothesis Search: Inductive Reasoning with Language Modelscited by 119
- 2023Hypothesis Search: Inductive Reasoning with Language Models11 Sep 2023
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
- 2021Self-Supervised Bug Detection and Repaircited by 59
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugscited by 28
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2021Understanding Neural Code Intelligence Through Program Simplificationcited by 20
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Codecited by 20
- 2021Memorization and Generalization in Neural Code Intelligence Modelscited by 17
- 2022On Distribution Shift in Learning-based Bug Detectorscited by 15
- 2022Neurosymbolic Repair for Low-Code Formula Languagescited by 12
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptionscited by 11
12 most cited of 36 All 36 (JSON)
- 2026AOI: Turning Failed Trajectories into Training Signals for Autonomous Cloud Diagnosis3 Mar 2026
- 2026Coding in a Bubble? Evaluating LLMs in Resolving Context Adaptation Bugs During Code Adaptation10 Jan 2026
- 2025Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spaces23 May 2025
- 2024The Power of Types: Exploring the Impact of Type Checking on Neural Bug Detection in Dynamically Typed Languages22 Nov 2024
- 2024DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language Models19 Feb 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023Transfer Attacks and Defenses for Large Language Models on Coding Tasks22 Nov 2023
- 2023Learning Defect Prediction from Unrealistic Data2 Nov 2023
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Version24 Jul 2023
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugs6 Jun 2023
- 2023Neuro-Symbolic Execution of Generic Source Code23 Mar 2023
- 2023Study of Distractors in Neural Models of Code3 Mar 2023
12 newest of 36 All 36 (JSON)