Advanced Search

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 Shen, Jiasi en_US Rinard, Martin en_US
dc.contributor.other Program Analysis and Compilation en 2017-08-29T22:00:05Z 2017-08-29T22:00:05Z 2017-08-29
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 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