Repository logo
 

Learning to Fix Build Errors with Graph2Diff Neural Networks

Accepted version
Peer-reviewed

Type

Conference Object

Change log

Authors

Tarlow, D 
Moitra, S 
Chen, Z 
Manzagol, PA 

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.

Description

Keywords

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

Publisher

ACM

Rights

All rights reserved