Inference and Regeneration of Programs that Store and Retrieve Data
As modern computation platforms become increasingly complex, their programming interfaces are increasingly difficult to use. This complexity is especially inappropriate given the relatively simple core functionality that many of the computations implement. We present a new approach for obtaining software that executes on modern computing platforms with complex programming interfaces. Our approach starts with a simple seed program, written in the language of the developer’s choice, that implements the desired core functionality. It then systematically generates inputs and observes the resulting outputs to learn the core functionality. It finally automatically regenerates new code that implements the learned core functionality on the target computing platform. This regenerated code contains boilerplate code for the complex programming interfaces that the target computing platform presents. By providing a productive new mechanism for capturing and encapsulating knowledge about how to use modern complex interfaces, this new approach promises to greatly reduce the developer effort required to obtain software that executes on modern computing platforms.
Wed 7 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
10:30 - 12:00 | Usability and ReusabilityOnward! Papers at The Loft Chair(s): Elisa Gonzalez Boix Vrije Universiteit Brussel | ||
10:30 30mTalk | On the Usage of “Pythonic” Idioms in Python Programs Onward! Papers Carol V. Alexandru University of Zurich, José J. Merchante Universidad Rey Juan Carlos, Sebastiano Panichella Zurich University of Applied Science/University of Zurich, Sebastian Proksch University of Zurich, Harald Gall University of Zurich, Gregorio Robles Universidad Rey Juan Carlos | ||
11:00 30mTalk | Inference and Regeneration of Programs that Store and Retrieve Data Onward! Papers Martin C. Rinard Massachusetts Institute of Technology, Jiasi Shen Massachusetts Institute of Technology, Varun Mangalick MIT |