Learning to Fix Build Errors with Graph2Diff Neural Networks
Not on the map. Why?
Abstract (arXiv)
Professional software developers spend a significant amount of time fixing builds, but this has received little attention as a problem in automatic program repair. We present a new deep learning architecture, called Graph2Diff, for automatically localizing and fixing build errors. We represent source code, build configuration files, and compiler diagnostic messages as a graph, and then use a Graph Neural Network model to predict a diff. A diff specifies how to modify the code's abstract syntax tree, represented in the neural network as a sequence of tokens and of pointers to code locations. Our network is an instance of a more general abstraction that we call Graph2Tocopo, which is potentially useful in any development tool for predicting source code changes. We evaluate the model on a dataset of over 500k real build errors and their resolutions from professional developers. Compared to the approach of DeepDelta (Mesbah et al., 2019), our approach tackles the harder task of predicting a more precise diff but still achieves over double the accuracy.
Key facts. Cited by 26 papers in the map (data through 14 Oct 2026). First posted on arXiv 4 Nov 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 11; 2022: 4; 2023: 7; 2024: 1; 2025: 0; 2026: 3.
26 papers.
Sort:
By area:
- 2021Program Synthesis with Large Language Modelscited by 3,637
- 2023Code Llama: Open Foundation Models for Codecited by 2,139
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repaircited by 232
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
- 2021Self-Supervised Bug Detection and Repaircited by 59
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2022CoditT5: Pretraining for Source Code and Natural Language Editingcited by 45
- 2021Neural Transfer Learning for Repairing Security Vulnerabilities in C Codecited by 36
- 2023InstructCoder: Instruction Tuning Large Language Models for Code Editingcited by 29
- 2021On Multi-Modal Learning of Editing Source Codecited by 25
14 more
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatementscited by 20
- 2021Learning Structural Edits via Incremental Tree Transformationscited by 16
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammarcited by 8
- 2023LExecutor: Learning-Guided Executioncited by 7
- 2023ZeroLeak: Using LLMs for Scalable and Cost Effective Side-Channel Patchingcited by 6
- 2022A Survey of Deep Learning Models for Structural Code Understandingcited by 4
- 2022A Library for Representing Python Programs as Graphs for Machine Learningcited by 4
- 2021Learning to Extend Program Graphs to Work-in-Progress Codecited by 3
- 2026AoA: Theorem Proving Agent over Abstract Syntax Tree of Redesigned Languagecited by 1
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Versioncited by 0
- 2026Evaluating LLM Agents on Automated Software Analysis Taskscited by 0
- 2026Agentic Generation of AST Transformation Rules for Fixing Breaking Updatescited by 0
- 2026AoA: Theorem Proving Agent over Abstract Syntax Tree of Redesigned Language17 Jul 2026
- 2026Agentic Generation of AST Transformation Rules for Fixing Breaking Updates23 Jun 2026
- 2026Evaluating LLM Agents on Automated Software Analysis Tasks13 Apr 2026
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repair25 Mar 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023InstructCoder: Instruction Tuning Large Language Models for Code Editing31 Oct 2023
- 2023ZeroLeak: Using LLMs for Scalable and Cost Effective Side-Channel Patching24 Aug 2023
- 2023Code Llama: Open Foundation Models for Code24 Aug 2023
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Version24 Jul 2023
- 2023LExecutor: Learning-Guided Execution5 Feb 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
- 2022A Library for Representing Python Programs as Graphs for Machine Learning15 Aug 2022
14 more
- 2022CoditT5: Pretraining for Source Code and Natural Language Editing10 Aug 2022
- 2022A Survey of Deep Learning Models for Structural Code Understanding3 May 2022
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammar13 Apr 2022
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatements20 Dec 2021
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translation13 Oct 2021
- 2021Program Synthesis with Large Language Models16 Aug 2021
- 2021On Multi-Modal Learning of Editing Source Code15 Aug 2021
- 2021A Syntax-Guided Edit Decoder for Neural Program Repair15 Jun 2021
- 2021Break-It-Fix-It: Unsupervised Learning for Program Repair11 Jun 2021
- 2021Learning to Extend Program Graphs to Work-in-Progress Code28 May 2021
- 2021Self-Supervised Bug Detection and Repair26 May 2021
- 2021Neural Transfer Learning for Repairing Security Vulnerabilities in C Code16 Apr 2021
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languages15 Feb 2021
- 2021Learning Structural Edits via Incremental Tree Transformations28 Jan 2021
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repaircited by 232
- 2026AoA: Theorem Proving Agent over Abstract Syntax Tree of Redesigned Languagecited by 1
- 2026Evaluating LLM Agents on Automated Software Analysis Taskscited by 0
- 2026Agentic Generation of AST Transformation Rules for Fixing Breaking Updatescited by 0
- 2026AoA: Theorem Proving Agent over Abstract Syntax Tree of Redesigned Language17 Jul 2026
- 2026Agentic Generation of AST Transformation Rules for Fixing Breaking Updates23 Jun 2026
- 2026Evaluating LLM Agents on Automated Software Analysis Tasks13 Apr 2026
- 2024RepairAgent: An Autonomous, LLM-Based Agent for Program Repair25 Mar 2024
- 2023Code Llama: Open Foundation Models for Codecited by 2,139
- 2023Code Llama: Open Foundation Models for Code24 Aug 2023
- 2021Program Synthesis with Large Language Modelscited by 3,637
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
- 2021Self-Supervised Bug Detection and Repaircited by 59
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2022CoditT5: Pretraining for Source Code and Natural Language Editingcited by 45
- 2021Neural Transfer Learning for Repairing Security Vulnerabilities in C Codecited by 36
- 2023InstructCoder: Instruction Tuning Large Language Models for Code Editingcited by 29
- 2021On Multi-Modal Learning of Editing Source Codecited by 25
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatementscited by 20
12 most cited of 21 All 21 (JSON)
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023InstructCoder: Instruction Tuning Large Language Models for Code Editing31 Oct 2023
- 2023ZeroLeak: Using LLMs for Scalable and Cost Effective Side-Channel Patching24 Aug 2023
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Version24 Jul 2023
- 2023LExecutor: Learning-Guided Execution5 Feb 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
- 2022A Library for Representing Python Programs as Graphs for Machine Learning15 Aug 2022
- 2022CoditT5: Pretraining for Source Code and Natural Language Editing10 Aug 2022
- 2022A Survey of Deep Learning Models for Structural Code Understanding3 May 2022
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammar13 Apr 2022
- 2021VELVET: a noVel Ensemble Learning approach to automatically locate VulnErable sTatements20 Dec 2021
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translation13 Oct 2021
12 newest of 21 All 21 (JSON)