Undecidability of Asynchronous Session Subtyping
Mario Bravetti, Marco Carbone, Gianluigi Zavattaro

TL;DR
This paper proves that various forms of asynchronous session subtyping are undecidable, highlighting fundamental limits in verifying communication protocols in distributed systems, but also identifies specific restrictions that restore decidability.
Contribution
It establishes the undecidability of multiple asynchronous session subtyping notions and identifies structural restrictions that make subtyping decidable.
Findings
All three considered asynchronous subtyping notions are undecidable.
Restrictions on type structure can make subtyping decidable.
A core undecidable subtyping relation is identified.
Abstract
Session types are used to describe communication protocols in distributed systems and, as usual in type theories, session subtyping characterizes substitutability of the communicating processes. We investigate the (un)decidability of subtyping for session types in asynchronously communicating systems. We first devise a core undecidable subtyping relation that is obtained by imposing limitations on the structure of types. Then, as a consequence of this initial undecidability result, we show that (differently from what stated or conjectured in the literature) the three notions of asynchronous subtyping defined so far for session types are all undecidable. Namely, we consider the asynchronous session subtyping by Mostrous and Yoshida for binary sessions, the relation by Chen et al. for binary sessions under the assumption that every message emitted is eventually consumed, and the one by…
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, programming, and type systems · Distributed systems and fault tolerance · Security and Verification in Computing
