Advanced Search
DSpace@MIT

Inference and Regeneration of Programs that Manipulate Relational Databases

Research and Teaching Output of the MIT Community

Show simple item record

dc.contributor.advisor Martin Rinard
dc.contributor.author Shen, Jiasi en_US
dc.contributor.author Rinard, Martin en_US
dc.contributor.other Program Analysis and Compilation en
dc.date.accessioned 2017-08-29T22:00:05Z
dc.date.available 2017-08-29T22:00:05Z
dc.date.issued 2017-08-29
dc.identifier.uri http://hdl.handle.net/1721.1/111067
dc.description.abstract We present a new technique that infers models of programs that manipulate relational databases. This technique generates test databases and input commands, runs the program, then observes the resulting outputs and updated databases to infer the model. Because the technique works only with the externally observable inputs, outputs, and databases, it can infer the behavior of programs written in arbitrary languages using arbitrary coding styles and patterns. We also present a technique for automatically regenerating an implementation of the program based on the inferred model. The regenerator can produce a translated implementation in a different language and systematically include relevant security and error checks. We present results that illustrate the use of the technique to eliminate SQL injection vulnerabilities and the translation of applications from Java and Ruby on Rails to Python. en_US
dc.format.extent 14 p. en_US
dc.relation.ispartofseries MIT-CSAIL-TR-2017-012
dc.title Inference and Regeneration of Programs that Manipulate Relational Databases en_US
dc.date.updated 2017-08-29T22:00:05Z


Files in this item

Name Size Format Description
MIT-CSAIL-TR-2017 ... 788.9Kb PDF

This item appears in the following Collection(s)

Show simple item record

MIT-Mirage