Affiliation:
1. IMDEA Software Institute, Spain
2. Nomadic Labs, France
3. Complutense University of Madrid, Spain
Abstract
Concurrent separation logic is distinguished by transfer of state ownership upon parallel composition and framing. The algebraic structure that underpins ownership transfer is that of partial commutative monoids (PCMs). Extant research considers ownership transfer primarily from the logical perspective while comparatively less attention is drawn to the algebraic considerations. This paper provides an algebraic formalization of ownership transfer in concurrent separation logic by means of structure-preserving partial functions (i.e., morphisms) between PCMs, and an associated notion of separating relations. Morphisms of structures are a standard concept in algebra and category theory, but haven't seen ubiquitous use in separation logic before. Separating relations. are binary relations that generalize disjointness and characterize the inputs on which morphisms preserve structure. The two abstractions facilitate verification by enabling concise ways of writing specs, by providing abstract views of threads' states that are preserved under ownership transfer, and by enabling user-level construction of new PCMs out of existing ones.
Funder
MICINN
European Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Higher-Order Leak and Deadlock Free Locks;Proceedings of the ACM on Programming Languages;2023-01-09
2. Verification of component-based systems with recursive architectures;Theoretical Computer Science;2023-01
3. Matching Logic for Concurrent Programs Based on Rely/Guarantee and Abstract Patterns;International Journal of Software Engineering and Knowledge Engineering;2022-12-21
4. Matching Logic Based on Ownership Transfer;International Journal of Software Engineering and Knowledge Engineering;2022-11-28
5. Reasoning about distributed reconfigurable systems;Proceedings of the ACM on Programming Languages;2022-10-31