SampleFix: Learning to Correct Programs by Sampling Diverse Fixes

06/24/2019
by   Hossein Hajipour, et al.
3

Automatic program correction is an active topic of research, which holds the potential of dramatically improving productivity of programmers during the software development process and correctness of software in general. Recent advances in machine learning, deep learning and NLP have rekindled the hope to eventually fully automate the process of repairing programs. A key challenges is ambiguity, as multiple codes -- or fixes -- can implement the same functionality. In addition, dataset by nature fail to capture the variance introduced by such ambiguities. Therefore, we propose a deep generative model to automatically correct programming errors by learning a distribution of potential fixes. Our model is formulated as a deep conditional variational autoencoder that samples diverse fixes for the given erroneous programs. In order to account for ambiguity and inherent lack of representative datasets, we propose a novel regularizer to encourage the model to generate diverse fixes. Our evaluations on common programming errors show for the first time the generation of diverse fixes and strong improvements over the state-of-the-art approaches by fixing up to 61% of the mistakes.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/19/2020

DLow: Diversifying Latent Flows for Diverse Human Motion Prediction

Deep generative models are often used for human motion prediction as the...
research
07/14/2019

Automatic Repair and Type Binding of Undeclared Variables using Neural Networks

Deep learning had been used in program analysis for the prediction of hi...
research
08/03/2018

Diverse Conditional Image Generation by Stochastic Regression with Latent Drop-Out Codes

Recent advances in Deep Learning and probabilistic modeling have led to ...
research
02/24/2018

Syntax-Directed Variational Autoencoder for Structured Data

Deep generative models have been enjoying success in modeling continuous...
research
03/11/2019

Deep Generative Models: Deterministic Prediction with an Application in Inverse Rendering

Deep generative models are stochastic neural networks capable of learnin...
research
07/11/2016

sk_p: a neural program corrector for MOOCs

We present a novel technique for automatic program correction in MOOCs, ...
research
07/08/2023

Multi-Intent Detection in User Provided Annotations for Programming by Examples Systems

In mapping enterprise applications, data mapping remains a fundamental p...

Please sign up or login with your details

Forgot password? Click here to reset