Proceedings - 2020 IEEE/ACM 42nd International Conference on Software Engineering Workshops, ICSEW 2020
Doi
Abstract
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