Show simple item record

dc.contributor.authorDelaware, Benjamin James
dc.contributor.authorPit-Claudel, Clément
dc.contributor.authorGross, Jason S.
dc.contributor.authorChlipala, Adam
dc.date.accessioned2021-09-23T19:09:23Z
dc.date.available2014-12-02T19:57:35Z
dc.date.available2021-09-23T19:09:23Z
dc.date.issued2015-01
dc.identifier.isbn978-1-4503-3300-9
dc.identifier.urihttps://hdl.handle.net/1721.1/91993.2
dc.description.abstractWe present Fiat, a library for the Coq proof assistant supporting refinement of declarative specifications into efficient functional programs with a high degree of automation. Each refinement process leaves a proof trail, checkable by the normal Coq kernel, justifying its soundness. We focus on the synthesis of abstract data types that package methods with private data. We demonstrate the utility of our framework by applying it to the synthesis of query structures--abstract data types with SQL-like query and insert operations. Fiat includes a library for writing specifications of query structures in SQL-inspired notation, expressing operations over relations (tables) in terms of mathematical sets. This library includes a suite of tactics for automating the refinement of specifications into efficient, correct- by-construction OCaml code. Using these tactics, a programmer can generate such an implementation completely automatically by only specifying the equivalent of SQL indexes, data structures capturing useful views of the abstract data. Throughout we speculate on the new programming modularity possibilities enabled by an automated refinement system with proved-correct rules. “Every block of stone has a statue inside it and it is the task of the sculptor to discover it.”--Michelangeloen_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant CCF-1253229)en_US
dc.description.sponsorshipUnited States. Defense Advanced Research Projects Agency (DARPA, agreement number FA8750-12-2- 0293)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionofhttp://popl.mpi-sws.org/2015/program.htmlen_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceChlipalaen_US
dc.titleFiat: Deductive Synthesis of Abstract Data Types in a Proof Assistanten_US
dc.typeArticleen_US
dc.identifier.citationDelaware, Benjamin, Clément Pit-Claudel, Jason Gross, and Adam Chlipala. "Fiat: Deductive Synthesis of Abstract Data Types in a Proof Assistant." POPL 2015: 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Tata Institute of Fundamental Research, Mumbai, India, January 12-18, 2015.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.approverChlipala, Adamen_US
dc.contributor.mitauthorDelaware, Benjamin Jamesen_US
dc.contributor.mitauthorPit-Claudel, Clement F.en_US
dc.contributor.mitauthorGross, Jason S.en_US
dc.contributor.mitauthorChlipala, Adamen_US
dc.relation.journalProceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsDelaware, Benjamin; Pit-Claudel, Clement; Gross, Jason; Chlipala, Adamen_US
dc.identifier.orcidhttps://orcid.org/0000-0002-9427-4891
dc.identifier.orcidhttps://orcid.org/0000-0001-7085-9417
dc.identifier.orcidhttps://orcid.org/0000-0002-1900-3901
dspace.mitauthor.errortrue
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusCompleteen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

VersionItemDateSummary

*Selected version