Show simple item record

Inference and Regeneration of Programs that Manipulate Relational Databases

dc.date.accessioned2017-08-29T22:00:05Z
dc.date.accessioned2018-11-26T22:27:44Z
dc.date.available2017-08-29T22:00:05Z
dc.date.available2018-11-26T22:27:44Z
dc.date.issued2017-08-29
dc.identifier.urihttp://hdl.handle.net/1721.1/111067
dc.identifier.urihttp://repository.aust.edu.ng/xmlui/handle/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.titleInference and Regeneration of Programs that Manipulate Relational Databasesen_US


Files in this item

FilesSizeFormatView
MIT-CSAIL-TR-2017-012.pdf807.8Kbapplication/pdfView/Open

This item appears in the following Collection(s)

Show simple item record