More practically, we evaluate these models on the task of learning to execute partial programs, as might arise if using the model as a heuristic function in program synthesis.
Program synthesis is challenging largely because of the difficulty of search in a large space of programs.
By studying a popular, non-trivial program repair task, variable-misuse identification, we explore the relative merits of traditional and hybrid model families for code representation.
The success and popularity of deep learning is on the rise, partially due to powerful deep learning frameworks such as TensorFlow and PyTorch that make it easier to develop deep learning models.
Sampling is a fundamental technique, and sampling without replacement is often desirable when duplicate samples are not beneficial.
In this work, we instead treat source code as a dynamic object and tackle the problem of modeling the edits that software developers make to source code files.
We show that it is beneficial to train a model that jointly and directly localizes and repairs variable-misuse bugs.
Then, given the generated low-resolution color image and the original grayscale image as inputs, we train a second CNN to generate a high-resolution colorization of an image.