LGAISEMLNov 4, 2019

Learning to Fix Build Errors with Graph2Diff Neural Networks

arXiv:1911.01205v167 citations
Originality Highly original
AI Analysis

This addresses a time-consuming issue for professional software developers, offering a novel method for automatic program repair.

The paper tackles the problem of automatically fixing build errors in software development by introducing Graph2Diff, a deep learning architecture that predicts precise diffs to modify code, achieving over double the accuracy compared to prior work on a dataset of over 500k real build errors.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes