Massachusetts Institute of Technology
Using dynamic analysis to infer Python programs and convert them into database programs
Abstract
dc:description.abstractI present Nero, a new system that automatically infers and regenerates programs that access databases. The developer first implements a Python program that uses lists and dictionaries to implement the database functionality. Nero then instruments the Python list and dictionary implementations and uses active learning to generate inputs that enable it to infer the behavior of the program. The program can be implemented in any arbitrary style as long as it implements behavior expressible in the domain specific language that characterizes the behaviors that Nero is designed to infer. The regenerated program replaces the Python lists and dictionaries with database tables and contains all code required to successfully access the databases. Results from several inferred and regenerated applications highlight the ability of Nero to enable developers with no knowledge of database programming to obtain programs that successfully access databases.
Degree
thesis:*- Name thesis:degree_name
- Master
- Department dc:contributor.department
- Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
- Grantor dc:publisher
- Massachusetts Institute of Technology
- Year dc:date.issued
- 2018
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Wu, Jerry.
- Advisor dc:contributor.advisor
-
- Martin Rinard.
Subjects
dc:subject × 1Rights
dc:rights- Statement dc:rights
-
- MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.
- Licence dc:rights.uri
- Language dc:language.iso
- eng
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- https://hdl.handle.net/1721.1/121643
- OAI identifier oai:identifier
- oai:dspace.mit.edu:1721.1/121643