2016

DeepCoder: Learning to Write Programs

Balog, Matej, Gaunt, Alexander L., Brockschmidt, Marc et al.

Understand

We develop a first line of attack for solving programming competition-style problems from input-output examples using deep learning.

  • The approach is to train a neural network to predict properties of the program that generated the outputs from the inputs.
  • We use the neural network's predictions to augment search techniques from the programming languages community, including enumerative search and an SMT-based solver.
  • Empirically, we show that our approach leads to an order of magnitude speedup over the strong non-augmented baselines and a Recurrent Neural Network approach, and that we are able to solve problems of difficulty comparable to the simplest problems on programming competition websites.

Reading the bibliography…