Developers nowadays have to contend with a growing number of APIs. While in the long-term they are very useful to developers, many modern APIs have an incredibly steep learning curve, due to their hundreds of functions handling many arguments, obscure documentation, and frequently changing semantics. For APIs that perform data transformations, novices can often provide an I/O example demonstrating the desired transformation, but may be stuck on how to translate it to the API. A programming-by-example synthesis engine that takes such I/O examples and directly produces programs in the target API could help such novices. Such an engine presents unique challenges due to the breadth of real-world APIs, and the often-complex constraints over function arguments. We present a generator-based synthesis approach to contend with these problems. This approach uses a program candidate generator, which encodes basic constraints on the space of programs. We introduce neural-backed operators which can be seamlessly integrated into the program generator. To improve the efficiency of the search, we simply use these operators at non-deterministic decision points, instead of relying on domain-specific heuristics. We implement this technique for the Python pandas library in AutoPandas. AutoPandas supports 119 pandas dataframe transformation functions. We evaluate AutoPandas on 26 real-world benchmarks and find it solves 17 of them.
Fri 25 OctDisplayed time zone: Beirut change
14:00 - 15:30 | |||
14:00 22mTalk | AL: Autogenerating Supervised Learning Programs OOPSLA DOI | ||
14:22 22mTalk | Program Synthesis with Algebraic Library Specifications OOPSLA Benjamin Mariano University of Maryland, College Park, Josh Reese University of Maryland, College Park, Siyuan Xu Purdue University, ThanhVu Nguyen University of Nebraska, Lincoln, Xiaokang Qiu Purdue University, Jeffrey S. Foster Tufts University, Armando Solar-Lezama Massachusetts Institute of Technology DOI | ||
14:45 22mTalk | AutoPandas: Neural-Backed Generators for Program Synthesis OOPSLA Rohan Bavishi UC Berkeley, Caroline Lemieux University of California, Berkeley, Roy Fox UC Berkeley, Koushik Sen University of California, Berkeley, Ion Stoica UC Berkeley DOI | ||
15:07 22mTalk | On the Fly Synthesis of Edit Suggestions OOPSLA Anders Miltner Princeton University, Sumit Gulwani Microsoft, Vu Le Microsoft, Alan Leung Microsoft, Arjun Radhakrishna Microsoft, Gustavo Soares Microsoft, Ashish Tiwari Microsoft, Abhishek Udupa Microsoft DOI Pre-print Media Attached |