Affiliation:
1. Yale University, USA
2. CNRS, France / Université de Paris, France
3. MPI-SWS, Germany
Abstract
Large-scale software verification relies critically on the use of compositional languages, semantic models, specifications, and verification techniques. Recent work on certified abstraction layers synthesizes game semantics, the refinement calculus, and algebraic effects to enable the composition of heterogeneous components into larger certified systems. However, in existing models of certified abstraction layers, compositionality is restricted by the lack of encapsulation of state.
In this paper, we present a novel game model for certified abstraction layers where the semantics of layer interfaces and implementations are defined solely based on their observable behaviors. Our key idea is to leverage Reddy's pioneer work on modeling the semantics of imperative languages not as functions on global states but as objects with their observable behaviors. We show that a layer interface can be modeled as an object type (i.e., a layer signature) plus an object strategy. A layer implementation is then essentially a regular map, in the sense of Reddy, from an object with the underlay signature to that with the overlay signature. A layer implementation is certified when its composition with the underlay object strategy implements the overlay object strategy. We also describe an extension that allows for non-determinism in layer interfaces.
After formulating layer implementations as regular maps between object spaces, we move to concurrency and design a notion of concurrent object space, where sequential traces may be identified modulo permutation of independent operations. We show how to express protected shared object concurrency, and a ticket lock implementation, in a simple model based on regular maps between concurrent object spaces.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference53 articles.
1. 2015-2021. DeepSpec: The Science of Deep Specifications. https://deepspec.org/ 2015-2021. DeepSpec: The Science of Deep Specifications. https://deepspec.org/
2. Full Abstraction for PCF
3. Linearity, Sharing and State: A Fully Abstract Game Semantics for Idealized Algol with Active Expressions
4. Samson Abramsky and Guy McCusker . 1999. Game Semantics . In Computational Logic, Ulrich Berger and Helmut Schwichtenberg (Eds.). Springer Berlin Heidelberg , Berlin, Heidelberg . 1–55. isbn:978-3-642-58622-4 Samson Abramsky and Guy McCusker. 1999. Game Semantics. In Computational Logic, Ulrich Berger and Helmut Schwichtenberg (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 1–55. isbn:978-3-642-58622-4
5. Verified Software Toolchain
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Compositional Theory of Linearizability;Journal of the ACM;2024-04-12
2. Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in Coq;Proceedings of the ACM on Programming Languages;2023-01-09
3. A Compositional Theory of Linearizability;Proceedings of the ACM on Programming Languages;2023-01-09
4. DimSum: A Decentralized Approach to Multi-language Semantics and Verification;Proceedings of the ACM on Programming Languages;2023-01-09
5. Layered and object-based game semantics;Proceedings of the ACM on Programming Languages;2022-01-12