Show simple item record

dc.contributor.authorPolikarpova, Nadia
dc.contributor.authorStefan, Deian
dc.contributor.authorYang, Jean
dc.contributor.authorItzhaky, Shachar
dc.contributor.authorHance, Travis
dc.contributor.authorSolar-Lezama, Armando
dc.date.accessioned2021-10-27T20:23:56Z
dc.date.available2021-10-27T20:23:56Z
dc.date.issued2020
dc.identifier.urihttps://hdl.handle.net/1721.1/135545
dc.description.abstractWe present Lifty, a domain-specific language for data-centric applications that manipulate sensitive data. A Lifty programmer annotates the sources of sensitive data with declarative security policies, and the language statically and automatically verifies that the application handles the data according to the policies. Moreover, if verification fails, Lifty suggests a provably correct repair, thereby easing the programmer burden of implementing policy enforcing code throughout the application. The main insight behind Lifty is to encode information flow control using liquid types, an expressive yet decidable type system. Liquid types enable fully automatic checking of complex, data dependent policies, and power our repair mechanism via type-driven error localization and patch synthesis. Our experience using Lifty to implement three case studies from the literature shows that (1) the Lifty policy language is sufficiently expressive to specify many real-world policies, (2) the Lifty type checker is able to verify secure programs and find leaks in insecure programs quickly, and (3) even if the programmer leaves out all policy enforcing code, the Lifty repair engine is able to patch all leaks automatically within a reasonable time.
dc.language.isoen
dc.publisherAssociation for Computing Machinery (ACM)
dc.relation.isversionof10.1145/3408987
dc.rightsCreative Commons Attribution 4.0 International license
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/
dc.sourceACM
dc.titleLiquid information flow control
dc.typeArticle
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.relation.journalProceedings of the ACM on Programming Languages
dc.eprint.versionFinal published version
dc.type.urihttp://purl.org/eprint/type/JournalArticle
eprint.statushttp://purl.org/eprint/status/PeerReviewed
dc.date.updated2021-03-23T17:17:58Z
dspace.orderedauthorsPolikarpova, N; Stefan, D; Yang, J; Itzhaky, S; Hance, T; Solar-Lezama, A
dspace.date.submission2021-03-23T17:17:59Z
mit.journal.volume4
mit.journal.issueICFP
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Needed


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record