Learning to Fix Build Errors with Graph2Diff Neural Networks

By Daniel Tarlow, Subhodeep Moitra, Andrew Colin Rice, Zimin Chen, Pierre-Antoine Manzagol, Charles Sutton, Edward Aftandilian. 2019

70 citations recorded by the source corpus.

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.

Subfields: Computer Networks and Communications, Information Systems, Software, Natural Language Processing

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computer Networks and Communications

  1. Michihiro Yasunaga
  2. Percy Liang
  3. Charles Sutton
  4. Maxwell Nye
  5. Prem Devanbu
  6. Marie-Anne Lachaux
  7. Mark Harman
  8. Shaked Brody

In Information Systems

  1. Charles Sutton
  2. Miltiadis Allamanis
  3. Vincent J. Hellendoorn
  4. Uri Alon
  5. Eran Yahav
  6. Baishakhi Ray
  7. Percy Liang
  8. Prem Devanbu

In Software

  1. Charles Sutton
  2. Vincent J. Hellendoorn
  3. Baishakhi Ray
  4. Prem Devanbu
  5. Uri Alon
  6. Percy Liang
  7. Michihiro Yasunaga
  8. David Bieber

In Natural Language Processing

  1. Percy Liang
  2. Luke S. Zettlemoyer
  3. Graham Neubig
  4. Quoc V. Le
  5. Uri Alon
  6. Omer Levy
  7. Eran Yahav
  8. Miltiadis Allamanis

Citations in the corpus