Learning to Extend Program Graphs to Work-in-Progress Code

05/28/2021
by   Xuechen Li, et al.
0

Source code spends most of its time in a broken or incomplete state during software development. This presents a challenge to machine learning for code, since high-performing models typically rely on graph structured representations of programs derived from traditional program analyses. Such analyses may be undefined for broken or incomplete code. We extend the notion of program graphs to work-in-progress code by learning to predict edge relations between tokens, training on well-formed code before transferring to work-in-progress code. We consider the tasks of code completion and localizing and repairing variable misuse in a work-in-process scenario. We demonstrate that training relation-aware models with fine-tuned edges consistently leads to improved performance on both tasks.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/08/2020

Learning to Represent Programs with Heterogeneous Graphs

Program source code contains complex structure information, which can be...
research
11/16/2020

Neural Software Analysis

Many software development problems can be addressed by program analysis ...
research
04/28/2020

SCELMo: Source Code Embeddings from Language Models

Continuous embeddings of tokens in computer programs have been used to s...
research
05/23/2022

AdaptivePaste: Code Adaptation through Learning Semantics-aware Variable Usage Representations

In software development, it is common for programmers to copy-paste code...
research
07/21/2017

Learning Program Component Order

Successful programs are written to be maintained. One aspect to this is ...
research
04/14/2022

To What Extent do Deep Learning-based Code Recommenders Generate Predictions by Cloning Code from the Training Set?

Deep Learning (DL) models have been widely used to support code completi...
research
07/09/2020

Learning Graph Structure With A Finite-State Automaton Layer

Graph-based neural network models are producing strong results in a numb...

Please sign up or login with your details

Forgot password? Click here to reset