# Deep API Programmer: Learning to Program with APIs

arXiv: https://arxiv.org/abs/1704.04327 · HTML: https://mlsanity.com/paper/1704.04327/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 14 Apr 2017.

## Built on by (most cited first, 1 of 1)

- [WikiCoder: Learning to Write Knowledge-Powered Code](https://mlsanity.com/paper/2303.08574/) (2023)

## Abstract (arXiv)

We present DAPIP, a Programming-By-Example system that learns to program with APIs to perform data transformation tasks. We design a domain-specific language (DSL) that allows for arbitrary concatenations of API outputs and constant strings. The DSL consists of three family of APIs: regular expression-based APIs, lookup APIs, and transformation APIs. We then present a novel neural synthesis algorithm to search for programs in the DSL that are consistent with a given set of examples. The search algorithm uses recently introduced neural architectures to encode input-output examples and to model the program search in the DSL. We show that synthesis algorithm outperforms baseline methods for synthesizing programs on both synthetic and real-world benchmarks.
