Towards Multiparty Session Types for Highly-Concurrent and Fault-Tolerant Web Applications
Richard Casetta (BNP Paribas, Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG), Nils Gesbert (Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG), Pierre Genev\`es (Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG)

TL;DR
This paper extends Multiparty Session Types with failure semantics and dynamic participation to better model and verify complex, fault-tolerant web applications involving concurrent interactions and state changes.
Contribution
It introduces a global-type framework that incorporates failure handling and dynamic roles, enabling formal reasoning about web applications with unreliable communication.
Findings
Defined syntax and semantics for enriched global types
Proved coherence preservation in the extended framework
Laid groundwork for automated verification of liveness properties
Abstract
Modern web applications combine persistent state updates, concurrent interactions, and unreliable communication with external services. Failures such as timeouts can occur after partial state changes, producing temporary inconsistencies whose resolution depends on liveness properties that are often not verified in practice. Although formal methods offer rigorous guarantees for reasoning about complex software, they remain rarely adopted in enterprise settings due to their perceived complexity and lack of practical automation. Multiparty Session Types (MPST) offer strong guarantees for communication safety, yet they do not account for the interplay between state evolution, dynamic workflow structure, and failure behaviour that are essential for reasoning about the correctness of real web applications. This paper introduces a global-type framework that equips MPST with explicit failure…
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.
