Graph-based, Self-Supervised Program Repair from Diagnostic Feedback
Not on the map. Why?
Abstract (arXiv)
We consider the problem of learning to repair programs from diagnostic feedback (e.g., compiler error messages). Program repair is challenging for two reasons: First, it requires reasoning and tracking symbols across source code and diagnostic feedback. Second, labeled datasets available for program repair are relatively small. In this work, we propose novel solutions to these two challenges. First, we introduce a program-feedback graph, which connects symbols relevant to program repair in source code and diagnostic feedback, and then apply a graph neural network on top to model the reasoning process. Second, we present a self-supervised learning paradigm for program repair that leverages unlabeled programs available online to create a large amount of extra program repair examples, which we use to pre-train our models. We evaluate our proposed approach on two applications: correcting introductory programming assignments (DeepFix dataset) and correcting the outputs of program synthesis (SPoC dataset). Our final system, DrRepair, significantly outperforms prior work, achieving 68.2% full repair rate on DeepFix (+22.9% over the prior best), and 48.4% synthesis success rate on SPoC (+3.7% over the prior best).
Key facts. Cited by 93 papers in the map (data through 7 Oct 2026). First posted on arXiv 20 May 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 19; 2022: 22; 2023: 28; 2024: 10; 2025: 6; 2026: 8.
93 papers.
Sort:
By area:
- 2022PaLM: Scaling Language Modeling with Pathwayscited by 5,304
- 2021Program Synthesis with Large Language Modelscited by 3,509
- 2023Self-Refine: Iterative Refinement with Self-Feedbackcited by 3,317
- 2022Scaling Instruction-Finetuned Language Modelscited by 2,997
- 2023Teaching Large Language Models to Self-Debugcited by 963
- 2021Measuring Coding Challenge Competence With APPScited by 879
- 2023CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquingcited by 751
- 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
- 2021QA-GNN: Reasoning with Language Models and Knowledge Graphs for Question Answeringcited by 386
- 2021Graph Self-Supervised Learning: A Surveycited by 289
- 2022Generating Sequences by Learning to Self-Correctcited by 271
- 2022UnifiedSKG: Unifying and Multi-Tasking Structured Knowledge Grounding with Text-to-Text Language Modelscited by 231
38 more
- 2024When Can LLMs Actually Correct Their Own Mistakes? A Critical Survey of Self-Correction of LLMscited by 230
- 2023Is Self-Repair a Silver Bullet for Code Generation?cited by 191
- 2021Self-supervised Learning on Graphs: Contrastive, Generative,or Predictivecited by 136
- 2023From Word Models to World Models: Translating from Natural Language to the Probabilistic Language of Thoughtcited by 118
- 2023#InsTag: Instruction Tagging for Analyzing Supervised Fine-tuning of Large Language Modelscited by 108
- 2023Large Language Models as Analogical Reasonerscited by 107
- 2023The CoT Collection: Improving Zero-shot and Few-shot Learning of Language Models via Chain-of-Thought Fine-Tuningcited by 106
- 2023Learning Performance-Improving Code Editscited by 103
- 2023Execution-based Code Generation using Deep Reinforcement Learningcited by 95
- 2023LLMs cannot find reasoning errors, but can correct them given the error locationcited by 85
- 2022Coder Reviewer Reranking for Code Generationcited by 83
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
- 2022Repair Is Nearly Generation: Multilingual Program Repair with LLMscited by 68
- 2021MoCL: Data-driven Molecular Fingerprint via Knowledge-aware Contrastive Learning from Molecular Graphcited by 65
- 2021Learning to Synthesize Programs as Interpretable and Generalizable Policiescited by 59
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2023Bridging the Gap: A Survey on Integrating (Human) Feedback for Natural Language Generationcited by 55
- 2021Molecular Contrastive Learning with Chemical Element Knowledge Graphcited by 50
- 2023RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repaircited by 50
- 2022Compilable Neural Code Generation with Compiler Feedbackcited by 46
- 2023SelfEvolve: A Code Evolution Framework via Large Language Modelscited by 43
- 2021JointLK: Joint Reasoning with Language Models and Knowledge Graphs for Commonsense Question Answeringcited by 40
- 2025A Survey of Test-Time Compute: From Intuitive Inference to Deliberate Reasoningcited by 40
- 2021Neural Transfer Learning for Repairing Security Vulnerabilities in C Codecited by 36
- 2021Learning to Repair: Repairing model output errors after deployment using a dynamic memory of feedbackcited by 35
- 2023Inference-Time Policy Adapters (IPA): Tailoring Extreme-Scale LMs without Fine-tuningcited by 33
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugscited by 28
- 2023Teaching Language Models to Self-Improve through Interactive Demonstrationscited by 26
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2021Learning Structural Edits via Incremental Tree Transformationscited by 16
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023B-Coder: Value-Based Deep Reinforcement Learning for Program Synthesiscited by 16
- 2023FLAME: A small language model for spreadsheet formulascited by 15
- 2022Neurosymbolic Repair for Low-Code Formula Languagescited by 12
- 2026M2F: Automated Formalization of Mathematical Literature at Scalecited by 12
- 2022CS1QA: A Dataset for Assisting Code-based Question Answering in an Introductory Programming Coursecited by 11
- 2022Improving Automated Program Repair with Domain Adaptationcited by 10
50 most cited of 93 All 93 (JSON)
- 2026TeXFix-Bench: An Empirically Grounded Multi-Format Benchmark for LLM-Based Document Source Repair7 Aug 2026
- 2026AoA: Theorem Proving Agent over Abstract Syntax Tree of Redesigned Language17 Jul 2026
- 2026Diff-Based Code Corruption using LLMs for Large-Scale Bugfix Benchmarking27 Jun 2026
- 2026CODESTRUCT: Code Agents over Structured Action Spaces7 Apr 2026
- 2026M2F: Automated Formalization of Mathematical Literature at Scale19 Feb 2026
- 2026Compiler-Guided Inference-Time Adaptation: Improving GPT-5 Programming Performance in Idris12 Feb 2026
- 2026Learning to Repair Lean Proofs from Compiler Feedback3 Feb 2026
- 2026Beyond Output Critique: Self-Correction via Task Distillation31 Jan 2026
- 2025On the Soundness and Consistency of LLM Agents for Executing Test Cases Written in Natural Language23 Sep 2025
- 2025Multimodal Prompt Decoupling Attack on the Safety Filters in Text-to-Image Models21 Sep 2025
- 2025Diffusion is a code repair operator and generator14 Aug 2025
- 2025The Impact of Fine-tuning Large Language Models on Automated Program Repair26 Jul 2025
38 more
- 2025PredicateFix: Repairing Static Analysis Alerts with Bridging Predicates15 Mar 2025
- 2025A Survey of Test-Time Compute: From Intuitive Inference to Deliberate Reasoning5 Jan 2025
- 2024Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization19 Dec 2024
- 2024The Power of Types: Exploring the Impact of Type Checking on Neural Bug Detection in Dynamically Typed Languages22 Nov 2024
- 2024Logic Error Localization in Student Programming Assignments Using Pseudocode and Graph Neural Networks11 Oct 2024
- 2024Multi-Task Program Error Repair and Explanatory Diagnosis9 Oct 2024
- 2024Teaching Language Models to Self-Improve by Learning from Language Feedback11 Jun 2024
- 2024Scaling Automatic Extraction of Pseudocode7 Jun 2024
- 2024When Can LLMs Actually Correct Their Own Mistakes? A Critical Survey of Self-Correction of LLMs3 Jun 2024
- 2024Generating Feedback-Ladders for Logical Errors in Programming using Large Language Models1 May 2024
- 2024Improving LLM Classification of Logical Errors by Integrating Error Relationship into Prompts30 Apr 2024
- 2024GenCode: A Generic Data Augmentation Framework for Boosting Deep Learning-Based Code Understanding24 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
- 2023Fully Authentic Visual Question Answering Dataset from Online Communities27 Nov 2023
- 2023LLMs cannot find reasoning errors, but can correct them given the error location14 Nov 2023
- 2023Can LLMs Patch Security Issues?13 Nov 2023
- 2023On The Open Prompt Challenge In Conditional Audio Generation1 Nov 2023
- 2023Teaching Language Models to Self-Improve through Interactive Demonstrations20 Oct 2023
- 2023B-Coder: Value-Based Deep Reinforcement Learning for Program Synthesis4 Oct 2023
- 2023Large Language Models as Analogical Reasoners3 Oct 2023
- 2023#InsTag: Instruction Tagging for Analyzing Supervised Fine-tuning of Large Language Models14 Aug 2023
- 2023LARCH: Large Language Model-based Automatic Readme Creation with Heuristics6 Aug 2023
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Version24 Jul 2023
- 2023From Word Models to World Models: Translating from Natural Language to the Probabilistic Language of Thought22 Jun 2023
- 2023Is Self-Repair a Silver Bullet for Code Generation?16 Jun 2023
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugs6 Jun 2023
- 2023SelfEvolve: A Code Evolution Framework via Large Language Models5 Jun 2023
- 2023Inference-Time Policy Adapters (IPA): Tailoring Extreme-Scale LMs without Fine-tuning24 May 2023
- 2023The CoT Collection: Improving Zero-shot and Few-shot Learning of Language Models via Chain-of-Thought Fine-Tuning23 May 2023
- 2023CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing19 May 2023
- 2023Bridging the Gap: A Survey on Integrating (Human) Feedback for Natural Language Generation1 May 2023
- 2023ITER: Iterative Neural Repair for Multi-Location Patches24 Apr 2023
- 2023Teaching Large Language Models to Self-Debug11 Apr 2023
- 2023Self-Refine: Iterative Refinement with Self-Feedback30 Mar 2023
- 2023Knowledge Transfer for Pseudo-code Generation from Low Resource Programming Language16 Mar 2023
- 2023Learning Performance-Improving Code Edits15 Feb 2023
- 2023Syntax and Domain Aware Model for Unsupervised Program Translation8 Feb 2023
50 newest of 93 All 93 (JSON)
- 2023Self-Refine: Iterative Refinement with Self-Feedbackcited by 3,317
- 2023Teaching Large Language Models to Self-Debugcited by 963
- 2023CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquingcited by 751
- 2023Large Language Models as Analogical Reasonerscited by 107
- 2023The CoT Collection: Improving Zero-shot and Few-shot Learning of Language Models via Chain-of-Thought Fine-Tuningcited by 106
- 2023LLMs cannot find reasoning errors, but can correct them given the error locationcited by 85
- 2025A Survey of Test-Time Compute: From Intuitive Inference to Deliberate Reasoningcited by 40
- 2025A Survey of Test-Time Compute: From Intuitive Inference to Deliberate Reasoning5 Jan 2025
- 2023LLMs cannot find reasoning errors, but can correct them given the error location14 Nov 2023
- 2023Large Language Models as Analogical Reasoners3 Oct 2023
- 2023The CoT Collection: Improving Zero-shot and Few-shot Learning of Language Models via Chain-of-Thought Fine-Tuning23 May 2023
- 2023CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing19 May 2023
- 2023Teaching Large Language Models to Self-Debug11 Apr 2023
- 2023Self-Refine: Iterative Refinement with Self-Feedback30 Mar 2023
- 2026Learning to Repair Lean Proofs from Compiler Feedbackcited by 6
- 2026CODESTRUCT: Code Agents over Structured Action Spacescited by 4
- 2026AoA: Theorem Proving Agent over Abstract Syntax Tree of Redesigned Languagecited by 1
- 2025On the Soundness and Consistency of LLM Agents for Executing Test Cases Written in Natural Languagecited by 0
- 2026AoA: Theorem Proving Agent over Abstract Syntax Tree of Redesigned Language17 Jul 2026
- 2026CODESTRUCT: Code Agents over Structured Action Spaces7 Apr 2026
- 2026Learning to Repair Lean Proofs from Compiler Feedback3 Feb 2026
- 2025On the Soundness and Consistency of LLM Agents for Executing Test Cases Written in Natural Language23 Sep 2025
- 2025Diffusion is a code repair operator and generatorcited by 3
- 2025Diffusion is a code repair operator and generator14 Aug 2025
- 2022PaLM: Scaling Language Modeling with Pathwayscited by 5,304
- 2021Program Synthesis with Large Language Modelscited by 3,509
- 2022Scaling Instruction-Finetuned Language Modelscited by 2,997
- 2021Measuring Coding Challenge Competence With APPScited by 879
- 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
- 2021QA-GNN: Reasoning with Language Models and Knowledge Graphs for Question Answeringcited by 386
- 2021Graph Self-Supervised Learning: A Surveycited by 289
- 2022Generating Sequences by Learning to Self-Correctcited by 271
- 2022UnifiedSKG: Unifying and Multi-Tasking Structured Knowledge Grounding with Text-to-Text Language Modelscited by 231
- 2024When Can LLMs Actually Correct Their Own Mistakes? A Critical Survey of Self-Correction of LLMscited by 230
- 2023Is Self-Repair a Silver Bullet for Code Generation?cited by 191
- 2021Self-supervised Learning on Graphs: Contrastive, Generative,or Predictivecited by 136
12 most cited of 75 All 75 (JSON)
- 2026TeXFix-Bench: An Empirically Grounded Multi-Format Benchmark for LLM-Based Document Source Repair7 Aug 2026
- 2026Diff-Based Code Corruption using LLMs for Large-Scale Bugfix Benchmarking27 Jun 2026
- 2026M2F: Automated Formalization of Mathematical Literature at Scale19 Feb 2026
- 2026Compiler-Guided Inference-Time Adaptation: Improving GPT-5 Programming Performance in Idris12 Feb 2026
- 2026Beyond Output Critique: Self-Correction via Task Distillation31 Jan 2026
- 2025The Impact of Fine-tuning Large Language Models on Automated Program Repair26 Jul 2025
- 2024Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization19 Dec 2024
- 2024The Power of Types: Exploring the Impact of Type Checking on Neural Bug Detection in Dynamically Typed Languages22 Nov 2024
- 2024Logic Error Localization in Student Programming Assignments Using Pseudocode and Graph Neural Networks11 Oct 2024
- 2024Multi-Task Program Error Repair and Explanatory Diagnosis9 Oct 2024
- 2024Scaling Automatic Extraction of Pseudocode7 Jun 2024
- 2024When Can LLMs Actually Correct Their Own Mistakes? A Critical Survey of Self-Correction of LLMs3 Jun 2024
12 newest of 75 All 75 (JSON)