A Survey of Machine Learning for Big Code and Naturalness

By Miltiadis Allamanis, Earl T. Barr, Premkumar T. Devanbu, Charles Sutton. 2017

1,037 citations recorded by the source corpus.

Research at the intersection of machine learning, programming languages, and software engineering has recently taken important steps in proposing learnable probabilistic models of source code that exploit the abundance of patterns of code. In this article, we survey this work. We contrast programming languages against natural languages and discuss how these similarities and differences drive the design of probabilistic models. We present a taxonomy based on the underlying design principles of each model and use it to navigate the literature. Then, we review how researchers have adapted these models to application areas and discuss cross-cutting and application-specific challenges and opportunities.

Subfields: Information Systems, Software, Natural Language Processing, Evaluation & Benchmarks

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Information Systems

  1. Miltiadis Allamanis
  2. Charles Sutton
  3. Uri Alon
  4. Eran Yahav
  5. Michael Pradel
  6. Prem Devanbu
  7. Baishakhi Ray
  8. Koushik Sen

In Software

  1. Michael Pradel
  2. Charles Sutton
  3. Miltiadis Allamanis
  4. Koushik Sen
  5. Baishakhi Ray
  6. Lingming Zhang
  7. Uri Alon
  8. Chun Xia

In Natural Language Processing

  1. Graham Neubig
  2. Mohit Bansal
  3. Omer Levy
  4. Luke S. Zettlemoyer
  5. Percy Liang
  6. Charles Sutton
  7. Miltiadis Allamanis
  8. Yejin Choi

In Evaluation & Benchmarks

  1. Charles Sutton
  2. Miltiadis Allamanis
  3. Graham Neubig
  4. Rafael-Michael Karampatsis
  5. Satish Chandra
  6. Sebastian Gehrmann
  7. Yi Tay
  8. Georgios Gousios

Citations in the corpus