Notice

This is not the latest version of this item. The latest version can be found at:https://dspace.mit.edu/handle/1721.1/131096.2

Show simple item record

dc.contributor.authorPit-Claudel, Clement Francois
dc.contributor.authorWang, Peng
dc.contributor.authorDelaware, Benjamin
dc.contributor.authorGross, Jason S.
dc.contributor.authorChlipala, Adam
dc.date.accessioned2021-07-14T18:20:16Z
dc.date.available2021-07-14T18:20:16Z
dc.date.issued2020-06
dc.identifier.issn0302-9743
dc.identifier.issn1611-3349
dc.identifier.urihttps://hdl.handle.net/1721.1/131096
dc.descriptionPart of the Lecture Notes in Computer Science book series (LNCS, volume 12167).en_US
dc.description.abstractWe present an original approach to sound program extraction in a proof assistant, using syntax-driven automation to derive correct-by-construction imperative programs from nondeterministic functional source code. Our approach does not require committing to a single inflexible compilation strategy and instead makes it straightforward to create domain-specific code translators. In addition to a small set of core definitions, our framework is a large, user-extensible collection of compilation rules each phrased to handle specific language constructs, code patterns, or data manipulations. By mixing and matching these pieces of logic, users can easily tailor extraction to their own domains and programs, getting maximum performance and ensuring correctness of the resulting assembly code. Using this approach, we complete the first proof-generating pipeline that goes automatically from high-level specifications to assembly code. In our main case study, the original specifications are phrased to resemble SQL-style queries, while the final assembly code does manual memory management, calls out to foreign data structures and functions, and is suitable to deploy on resource-constrained platforms. The pipeline runs entirely within the Coq proof assistant, leading to final, linked assembly code with overall full-functional-correctness proofs in separation logic.en_US
dc.description.sponsorshipNSF (Grants CCF-1512611 and CCF-1521584)en_US
dc.description.sponsorshipDARPA (Contract FA8750-16-C-0007)en_US
dc.language.isoen
dc.publisherSpringer International Publishingen_US
dc.relation.isversionofhttp://dx.doi.org/10.1007/978-3-030-51054-1_7en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceProf. Chlipala via Phoebe Ayersen_US
dc.titleExtensible Extraction of Efficient Imperative Programs with Foreign Functions, Manually Managed Memory, and Proofsen_US
dc.typeBooken_US
dc.identifier.citationPit-Claudel, Clément et al. "Extensible Extraction of Efficient Imperative Programs with Foreign Functions, Manually Managed Memory, and Proofs." IJCAR: International Joint Conference on Automated Reasoning, 12167, Springer International Publishing, 2020, 119-137. © 2020 Springer Nature Switzerlanden_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.relation.journalIJCAR: International Joint Conference on Automated Reasoningen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2021-07-12T18:08:56Z
dspace.orderedauthorsPit-Claudel, C; Wang, P; Delaware, B; Gross, J; Chlipala, Aen_US
dspace.date.submission2021-07-12T18:08:58Z
mit.licenseOPEN_ACCESS_POLICY
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

VersionItemDateSummary

*Selected version