Please use this identifier to cite or link to this item: http://hdl.handle.net/2381/29328
Title: Lem : Reusable engineering of real-world semantics
Authors: Mulligan, Dominic P.
Gray, Kathryn E.
Sewell, Peter
Owens, Scott
Ridge, Tom
First Published: 19-Aug-2014
Presented at: ICFP '14, 19th ACM SIGPLAN international conference on Functional programming, 2014
Publisher: Association for Computing Machinery (ACM)
Citation: ICFP '14 Proceedings of the 19th ACM SIGPLAN international conference on Functional programming, 2014, pp. 175-188
Abstract: Recent years have seen remarkable successes in rigorous engineering: using mathematically rigorous semantic models (not just idealised calculi) of real-world processors, programming languages, protocols, and security mechanisms, for testing, proof, analysis, and design. Building these models is challenging, requiring experimentation, dialogue with vendors or standards bodies, and validation; their scale adds engineering issues akin to those of programming to the task of writing clear and usable mathematics. But language and tool support for specification is lacking. Proof assistants can be used but bring their own difficulties, and a model produced in one, perhaps requiring many person-years effort and maintained over an extended period, cannot be used by those familiar with another. We introduce Lem, a language for engineering reusable large-scale semantic models. The Lem design takes inspiration both from functional programming languages and from proof assistants, and Lem definitions are translatable into OCaml for testing, Coq, HOL4, and Isabelle/HOL for proof, and LaTeX and HTML for presentation. This requires a delicate balance of expressiveness, careful library design, and implementation of transformations - akin to compilation, but subject to the constraint of producing usable and human-readable code for each target. Lem's effectiveness is demonstrated by its use in practice. © 2014 ACM.
DOI Link: 10.1145/2628136.2628143
ISBN: 978-1-4503-2873-9
Links: http://dl.acm.org/citation.cfm?doid=2628136.2628143
http://hdl.handle.net/2381/29328
Version: Post-print
Status: Peer-reviewed
Type: Conference Paper
Rights: Copyright © 2014, ACM. Deposited with reference to the publisher’s open access archiving policy.
Appears in Collections:Conference Papers & Presentations, Dept. of Computer Science

Files in This Item:
File Description SizeFormat 
ridge14-lem-icfp-2014.pdfOther283.84 kBAdobe PDFView/Open


Items in LRA are protected by copyright, with all rights reserved, unless otherwise indicated.