Learning to Fix Build Errors with Graph2Diff Neural Networks

Conference Object
Change log
Tarlow, D 
Moitra, S 
Chen, Z 
Manzagol, PA 

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 which 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 [23], our approach tackles the harder task of predicting a more precise diff but still achieves over double the accuracy.

Journal Title
Proceedings - 2020 IEEE/ACM 42nd International Conference on Software Engineering Workshops, ICSEW 2020
Conference Name
ICSE '20: 42nd International Conference on Software Engineering
Journal ISSN
Volume Title
All rights reserved