Operational methods in semantics
Roberto M. Amadio

TL;DR
This paper discusses the operational semantics approach in programming languages, emphasizing its practicality, scalability, and applications in language implementation, correctness proofs, and static analysis.
Contribution
It provides an overview of operational semantics, highlighting its effectiveness and versatility compared to other semantic approaches.
Findings
Operational semantics effectively models program computation steps.
It supports building portable language implementations.
It aids in proving compiler and static analyzer correctness.
Abstract
The focus of these lecture notes is on abstract models and basic ideas and results that relate to the operational semantics of programming languages largely conceived. The approach is to start with an abstract description of the computation steps of programs and then to build on top semantic equivalences, specification languages, and static analyses. While other approaches to the semantics of programming languages are possible, it appears that the operational one is particularly effective in that it requires a moderate level of mathematical sophistication and scales reasonably well to a large variety of programming features. In practice, operational semantics is a suitable framework to build portable language implementations and to specify and test program properties. It is also used routinely to tackle more ambitious tasks such as proving the correctness of a compiler or a static…
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.
Taxonomy
TopicsLogic, Reasoning, and Knowledge
