Show simple item record

dc.contributor.advisorMartin Rinard
dc.contributor.authorShen, Jiasien_US
dc.contributor.authorRinard, Martinen_US
dc.contributor.otherProgram Analysis and Compilationen
dc.date.accessioned2017-08-29T22:00:05Z
dc.date.available2017-08-29T22:00:05Z
dc.date.issued2017-08-29
dc.identifier.urihttp://hdl.handle.net/1721.1/111067
dc.description.abstractWe 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.extent14 p.en_US
dc.relation.ispartofseriesMIT-CSAIL-TR-2017-012
dc.titleInference and Regeneration of Programs that Manipulate Relational Databasesen_US
dc.date.updated2017-08-29T22:00:05Z


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record