Active Learning for Inference and Regeneration of Applications that Access Databases
Name
3430952.pdf
Size
22.72 MB
Format
Adobe PDF
Checksum (MD5)
dc7a9ecb233ff7e57a3d3bca0652bf20
Author(s) •
Shen, Jiasi
Rinard, Martin
Date Issued
January 22, 2021
Journal
ACM Transactions on Programming Languages & Systems
Publisher
Association for Computing Machinery
Citation
Shen, Jiasi and Rinard, Martin. 2021. "Active Learning for Inference and Regeneration of Applications that Access Databases." ACM Transactions on Programming Languages & Systems, 42 (4).
Version
Final published version
Abstract
We present Konure, a new system that uses active learning to infer models of applications that retrieve data from relational databases. Konure comprises a domain-specific language (each model is a program in this language) and associated inference algorithm that infers models of applications whose behavior can be expressed in this language. The inference algorithm generates inputs and database contents, runs the application, then observes the resulting database traffic and outputs to progressively refine its current model hypothesis. Because the technique works with only externally observable inputs, outputs, and database contents, it can infer the behavior of applications written in arbitrary languages using arbitrary coding styles (as long as the behavior of the application is expressible in the domain-specific language). Konure also implements a regenerator that produces a translated Python implementation of the application that systematically includes relevant security and error checks.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use.
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3430952