Ott: Effective tool support for the working semanticist

Author:

SEWELL PETER,NARDELLI FRANCESCO ZAPPA,OWENS SCOTT,PESKINE GILLES,RIDGE THOMAS,SARKAR SUSMIT,STRNIŠA ROK

Abstract

AbstractSemantic definitions of full-scale programming languages are rarely given, despite the many potential benefits. Partly this is because the available metalanguages for expressing semantics – usually either for informal mathematics or the formal mathematics of a proof assistant – make it much harder than necessary to work with large definitions. We present a metalanguage specifically designed for this problem, and a tool, Ott, that sanity-checks such definitions and compiles them into proof assistant code for Coq, HOL, and Isabelle/HOL, together with code for production-quality typesetting, and OCaml boilerplate. The main innovations are (1) metalanguage design to make definitions concise, and easy to read and edit; (2) an expressive but intuitive metalanguage for specifying binding structures; and (3) compilation to proof assistant code. This has been tested in substantial case studies, including modular specifications of calculi from the TAPL text, a Lightweight Java with Java JSR 277/294 module system proposals, and a large fragment of OCaml (OCamllight, 310 rules), with mechanised proofs of various soundness results. Our aim with this work is to enable a phase change: making it feasible to work routinely, without heroic effort, with rigorous semantic definitions of realistic languages.

Publisher

Cambridge University Press (CUP)

Subject

Software

Reference76 articles.

1. Xiao Y. , Ariola Z & Mauny M. (2000) From syntactic theories to interpreters: A specification language and its compilation. In First International Workshop on Rule-Based Programming (RULE 2000), Derschowitz N. & Kirchner C. (eds). Available at: http://arxiv.org/abs/cs.PL/0009030 Accessed 8 January 2010.

2. Mechanized Semantics for the Clight Subset of the C Language

3. Strachey C. (1966) Towards a formal semantics. In Formal Language Description Languages for Computer Programming. North Holland, pp. 198–220.

4. Aydemir B. , Charguéraud A. , Pierce B. C. , Pollack R. & Weirich S. (2008) Engineering Formal Metatheory. In Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '08). ACM, San Francisco, pp. 3–15.

Cited by 95 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Towards a Dynabook for verified VM construction;Journal of Computer Languages;2024-08

2. HOL4P4: Mechanized Small-Step Semantics for P4;Proceedings of the ACM on Programming Languages;2024-04-29

3. Tinyrossa: A Compiler Framework for Vertical, Verified Construction of Smalltalk VMs;Companion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming;2024-03-11

4. Language-parameterized Proofs for Functional Languages with Subtyping;Lecture Notes in Computer Science;2024

5. The Way We Were: Structural Operational Semantics Research in Perspective;Electronic Proceedings in Theoretical Computer Science;2023-09-14

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3