Statically Verified Refinements for Multiparty Protocols
Fangyi Zhou (1), Francisco Ferreira (1), Raymond Hu (2), Rumyana, Neykova (3), Nobuko Yoshida (1) ((1) Imperial College London, (2), University of Hertfordshire, (3) Brunel University London)

TL;DR
This paper introduces RMPST, an extension of multiparty session types that incorporates data-dependent refinements, enabling static verification of complex distributed protocols with payload constraints, demonstrated through a toolchain called Session*.
Contribution
The paper presents RMPST, a novel extension of MPST with refinement types, and implements it in Session* to enable static verification of data-dependent protocols in distributed systems.
Findings
RMPST effectively encodes data-dependent protocol constraints.
The Session* toolchain verifies refinements with minimal overhead.
The approach guarantees communication safety properties in real-world examples.
Abstract
With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an open challenge. To address this, multiparty session types (MPST) provide a typing discipline for message-passing concurrency, guaranteeing communication safety properties such as deadlock freedom. While originally MPST focus on the communication aspects, and employ a simple typing system for communication payloads, communication protocols in the real world usually contain constraints on the payload. We introduce refined multiparty session types (RMPST), an extension of MPST, that express data dependent protocols via refinement types on the data types. We provide an implementation of RMPST, in a toolchain called Session*, using Scribble, a multiparty protocol description toolchain, and targeting F*, a verification-oriented functional programming language. Users can describe a protocol…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Security and Verification in Computing
