Skeletal Semantics and their Interpretations
Martin Bodin, Philippa Gardner, Thomas Jensen, Alan Schmitt

TL;DR
This paper introduces skeletal semantics, a systematic framework for defining and connecting concrete and abstract semantics of programming languages, facilitating verified compiler development and program analysis.
Contribution
It presents a novel skeletal semantics approach with a general interpretation framework, linking concrete and abstract semantics through proven consistency results.
Findings
Defined skeletal semantics for language constructs
Developed four generic interpretations including abstract and concrete
Proved general consistency results between interpretations
Abstract
The development of mechanised language specification based on structured operational semantics, with applications to verified compilers and sound program analysis, requires huge effort. General theory and frameworks have been proposed to help with this effort. However, none of this work provides a systematic way of developing concrete and abstract semantics, connected together by a general consistency result. We introduce a skeletal semantics of a language, where each skeleton describes the complete semantic behaviour of a language construct. We define a general notion of interpretation, which provides a systematic and language-independent way of deriving semantic judgements from the skeletal semantics. We explore four generic interpretations: a simple well-formedness interpretation; a concrete interpretation; an abstract interpretation; and a constraint generator for flow-sensitive…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
