English
Related papers

Related papers: Predictive Synthesis of API-Centric Code

200 papers

In many sequence learning tasks, such as program synthesis and document summarization, a key problem is searching over a large space of possible output sequences. We propose to learn representations of the outputs that are specifically…

Machine Learning · Computer Science 2021-08-09 Joey Hong , David Dohan , Rishabh Singh , Charles Sutton , Manzil Zaheer

Developers frequently use APIs to implement certain functionalities, such as parsing Excel Files, reading and writing text files line by line, etc. Developers can greatly benefit from automatic API usage sequence generation based on natural…

Software Engineering · Computer Science 2022-04-08 Mohammad Abdul Hadi , Imam Nur Bani Yusuf , Ferdian Thung , Kien Gia Luong , Jiang Lingxiao , Fatemeh H. Fard , David Lo

One of the most challenging goals in designing intelligent systems is empowering them with the ability to synthesize programs from data. Namely, given specific requirements in the form of input/output pairs, the goal is to train a machine…

Programming Languages · Computer Science 2021-10-18 Giovanni De Toni , Luca Erculiani , Andrea Passerini

Developers often wonder how to implement a certain functionality (e.g., how to parse XML files) using APIs. Obtaining an API usage sequence based on an API-related natural language query is very helpful in this regard. Given a query,…

Software Engineering · Computer Science 2017-07-17 Xiaodong Gu , Hongyu Zhang , Dongmei Zhang , Sunghun Kim

APIs play a pivotal role in modern software development by enabling seamless communication and integration between various systems, applications, and services. Component-based API synthesis is a form of program synthesis that constructs an…

Software Engineering · Computer Science 2025-02-24 Hua Zhong , Shan Jiang , Sarfraz Khurshid

Program synthesis is an umbrella term for generating programs and logical formulae from specifications. With the remarkable performance improvements that GPUs enable for deep learning, a natural question arose: can we also implement a…

Programming Languages · Computer Science 2025-04-29 Martin Berger , Nathanaël Fijalkow , Mojtaba Valizadeh

Understanding the correct API usage sequences is one of the most important tasks for programmers when they work with unfamiliar libraries. However, programmers often encounter obstacles to finding the appropriate information due to either…

Software Engineering · Computer Science 2022-05-04 James Martin , Jin L. C. Guo

Software developers study and reuse existing source code to understand how to properly use application programming interfaces (APIs). However, manually finding sufficient and adequate code examples for a given API is a difficult and a…

Software Engineering · Computer Science 2022-08-02 Mohammad Ghafari , Konstantin Rubinov , Mohammad Mehdi Pourhashem K

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a variety of domains, such…

Software Engineering · Computer Science 2023-03-13 Linghan Zhong , Ryan Lindeborg , Jesse Zhang , Joseph J. Lim , Shao-Hua Sun

Neural inductive program synthesis is a task generating instructions that can produce desired outputs from given inputs. In this paper, we focus on the generation of a chunk of assembly code that can be executed to match a state change…

Machine Learning · Computer Science 2019-10-15 Yifan Xu , Lu Dai , Udaikaran Singh , Kening Zhang , Zhuowen Tu

We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program…

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…

Artificial Intelligence · Computer Science 2017-04-17 Surya Bhupatiraju , Rishabh Singh , Abdel-rahman Mohamed , Pushmeet Kohli

Program synthesis techniques offer significant new capabilities in searching for programs that satisfy high-level specifications. While synthesis has been thoroughly explored for input/output pair specifications (programming-by-example),…

Human-Computer Interaction · Computer Science 2019-09-27 Will Crichton

Classification is one of the most important tasks in Machine Learning (ML) and with recent advancements in artificial intelligence (AI) it is important to find efficient ways to implement it. Generally, the choice of classification…

Machine Learning · Computer Science 2023-12-27 Anuja Dixit , Shreya Byreddy , Guanqun Song , Ting Zhu

There is a growing need for Large Language Models (LLMs) to effectively use tools and external Application Programming Interfaces (APIs) to plan and complete tasks. As such, there is tremendous interest in methods that can acquire…

Nowadays, developers often reuse existing APIs to implement their programming tasks. A lot of API usage patterns are mined to help developers learn API usage rules. However, there are still many missing variables to be synthesized when…

Software Engineering · Computer Science 2021-03-23 Qi Shen , Shijun Wu , Yanzhen Zou , Bing Xie

APIs are central to modern software development, yet composing new APIs from large libraries is difficult due to the exponential search space; traditional component-based synthesis relies on costly exploration and hand-crafted…

Software Engineering · Computer Science 2025-10-01 Hua Zhong , Shan Jiang , Sarfraz Khurshid

Nowadays, it has become a basic need to reuse existing Application Programming Interface (API), Class Libraries, and frameworks for rapid software development. Software developers often reuse this by calling the respective APIs or…

Software Engineering · Computer Science 2020-05-07 Ziaur Rahman

We develop a first line of attack for solving programming competition-style problems from input-output examples using deep learning. The approach is to train a neural network to predict properties of the program that generated the outputs…

Machine Learning · Computer Science 2017-03-09 Matej Balog , Alexander L. Gaunt , Marc Brockschmidt , Sebastian Nowozin , Daniel Tarlow

In recent years, deep learning techniques have been developed to improve the performance of program synthesis from input-output examples. Albeit its significant progress, the programs that can be synthesized by state-of-the-art approaches…

Machine Learning · Computer Science 2018-03-09 Xinyun Chen , Chang Liu , Dawn Song
‹ Prev 1 2 3 10 Next ›