Minimal Session Types for the $\pi$-calculus (Extended Version)
Alen Arslanagic, Jorge A. P\'erez, Anda-Amelia Palamariuc

TL;DR
This paper extends the concept of minimal session types (MSTs) to the session pi-calculus, demonstrating that processes can be simplified to MSTs while preserving correctness, thus providing a foundational understanding of session-based concurrency.
Contribution
It adapts the minimality result of MSTs from higher-order to first-order session pi-calculus and introduces optimizations ensuring dynamic correctness of the process transformations.
Findings
Minimality result for MSTs in session pi-calculus established
Transformations into MSTs are dynamically correct
Optimizations improve process simplification and verification
Abstract
Session types are a discipline for the static verification of message-passing programs. A session type specifies a channel's protocol as sequences of exchanges. It is most relevant to investigate session-based concurrency by identifying the essential notions that enable program specification and verification. Following that perspective, prior work identified minimal session types (MSTs), a sub-class of session types without the sequentiality construct, which specifies the structure of communication actions. This formulation of session types led to establish a minimality result: every process typable with standard session types can be compiled down to a process typable using MSTs, which mimics sequentiality in types via additional process synchronizations. Such a minimality result is significant because it justifies session types in terms of themselves, without resorting to external…
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 · Formal Methods in Verification · Security and Verification in Computing
