Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. Inference and Regeneration of Programs that Manipulate Relational Databases

Inference and Regeneration of Programs that Manipulate Relational Databases

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2017-012.pdf

Size

788.92 KB

Format

Adobe PDF

Checksum (MD5)

40bcb22a15dfe3847bb5e0c02472a976

Download all files submitted through automated deposit
jiasi@CSAIL.MIT.EDU-59a4d430.29807.zip (765.38 KB)
Author(s)
Shen, Jiasi
•
Rinard, Martin
Advisor(s)
Martin Rinard
Date Issued
August 29, 2017
Series/Report no.
MIT-CSAIL-TR-2017-012
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.
Persistent DSpace Link
http://hdl.handle.net/1721.1/111067
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.