Deep API Programmer: Learning to Program with APIs
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.
Code (0)
등록된 구현이 없습니다.
Similar Papers 제목 키워드 기반
APIRecX: Cross-Library API Recommendation via Pre-Trained Language Model
For programmers, learning the usage of APIs (Application Programming Interfaces) of a software library is important yet difficult. API recommendation tools can help developers use APIs by recommending which APIs to be us…
Language ModelingLanguage ModellingTableTalk: Scaffolding Spreadsheet Development with a Language Agent
Despite its ubiquity in the workforce, spreadsheet programming remains challenging as programmers need both spreadsheet-specific knowledge (e.g., APIs to write formulas) and problem-solving skills to create complex sprea…
Human Agent CollaborationCodeScholar: Growing Idiomatic Code Examples
Programmers often search for usage examples for API methods. A tool that could generate realistic, idiomatic, and contextual usage examples for one or more APIs would be immensely beneficial to developers. Such a tool wo…
Program SynthesisReading Between the Lines: Modeling User Behavior and Costs in AI-Assisted Programming
Code-recommendation systems, such as Copilot and CodeWhisperer, have the potential to improve programmer productivity by suggesting and auto-completing code. However, to fully realize their potential, we must understand …
Code CompletionRecommendation SystemsNon-Programmers Can Label Programs Indirectly via Active Examples: A Case Study with Text-to-SQL
Can non-programmers annotate natural language utterances with complex programs that represent their meaning? We introduce APEL, a framework in which non-programmers select among candidate programs generated by a seed sem…
Bayesian InferenceText to SQLText-To-SQL