A Survey of Machine Learning for Big Code and Naturalness

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

Research output: Contribution to journalArticlepeer-review


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 code’s abundance of patterns. 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 crosscutting and application-specific challenges and opportunities.
Original languageEnglish
Article number81
Number of pages36
JournalACM Computing Surveys
Issue number4
Publication statusPublished - 31 Jul 2018

Fingerprint Dive into the research topics of 'A Survey of Machine Learning for Big Code and Naturalness'. Together they form a unique fingerprint.

Cite this