AILGApr 14, 2017

Deep API Programmer: Learning to Program with APIs

arXiv:1704.04327v116 citations
Originality Incremental advance
AI Analysis

This addresses the challenge of programming data transformations for users who need to automate tasks without manual coding, though it appears incremental as it builds on existing neural synthesis approaches.

The paper tackles the problem of automating data transformation tasks by learning to program with APIs, presenting DAPIP, a Programming-By-Example system that uses a novel neural synthesis algorithm to search for consistent programs in a domain-specific language, and it outperforms baseline methods on synthetic and real-world benchmarks.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes