Program Synthesis Using Natural Language

By Aditya Desai, Sumit Gulwani, Vineet Hingorani, Nidhi Jain, Amey Karkare, Mark Marron, R. Sailesh, Subhajit Roy. 2015

161 citations recorded by the source corpus.

Interacting with computers is a ubiquitous activity for millions of people. Repetitive or specialized tasks often require creation of small, often one-off, programs. End-users struggle with learning and using the myriad of domain-specific languages (DSLs) to effectively accomplish these tasks. We present a general framework for constructing program synthesizers that take natural language (NL) inputs and produce expressions in a target DSL. The framework takes as input a DSL definition and training data consisting of NL/DSL pairs. From these it constructs a synthesizer by learning optimal weights and classifiers (using NLP features) that rank the outputs of a keyword-programming based translation. We applied our framework to three domains: repetitive text editing, an intelligent tutoring system, and flight information queries. On 1200+ English descriptions, the respective synthesizers rank the desired program as the top-1 and top-3 for 80% and 90% descriptions respectively.

Subfields: Artificial Intelligence, Information Systems, Natural Language Processing, Code Generation & Program Synthesis

How researchers see this paper

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

In Artificial Intelligence

  1. Graham Neubig
  2. Luke S. Zettlemoyer
  3. Mohit Bansal
  4. Percy Liang
  5. Ashish Sabharwal
  6. Hannaneh Hajishirzi
  7. Tushar Khot
  8. Yejin Choi

In Information Systems

  1. Charles Sutton
  2. Graham Neubig
  3. Rishabh Singh
  4. Uri Alon
  5. Romain Robbes
  6. Hlib Babii
  7. Miltiadis Allamanis
  8. Rafael-Michael Karampatsis

In Natural Language Processing

  1. Graham Neubig
  2. Ashish Sabharwal
  3. Luke S. Zettlemoyer
  4. Tushar Khot
  5. Daniel Khashabi
  6. Percy Liang
  7. Kyle Richardson
  8. Josh Tenenbaum

In Code Generation & Program Synthesis

  1. Charles Sutton
  2. Rishabh Singh
  3. Graham Neubig
  4. Frank F. Xu
  5. Oleksandr Polozov
  6. Romain Robbes
  7. Hlib Babii
  8. Andrea Janes

Citations in the corpus