Predictive Synthesis of API-Centric Code
Daye Nam, Baishakhi Ray, Seohyun Kim, Xianshan Qu, Satish Chandra

TL;DR
This paper introduces a deep learning model that predicts API function sequences to accelerate enumerative program synthesis, particularly for data processing tasks, by learning from input-output examples without explicit intermediate steps.
Contribution
It presents a novel deep learning approach to predict API sequences for program synthesis, improving speed over previous ML-based methods like DeepCoder.
Findings
Model achieves significant speedups in synthesis tasks
Outperforms previous ML-based synthesis methods
Effective in predicting API sequences from input-output data
Abstract
Today's programmers, especially data science practitioners, make heavy use of data-processing libraries (APIs) such as PyTorch, Tensorflow, NumPy, Pandas, and the like. Program synthesizers can provide significant coding assistance to this community of users; however program synthesis also can be slow due to enormous search spaces. In this work, we examine ways in which machine learning can be used to accelerate enumerative program synthesis. We present a deep-learning-based model to predict the sequence of API functions that would be needed to go from a given input to a desired output, both being numeric vectors. Our work is based on two insights. First, it is possible to learn, based on a large number of input-output examples, to predict the likely API function needed in a given situation. Second, and crucially, it is also possible to learn to compose API functions into a sequence,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Software Engineering Techniques and Practices
