Towards Multiparty Session Types for Highly-Concurrent and Fault-Tolerant Web Applications
This work addresses the challenge of ensuring communication safety and liveness in real web applications, which is incremental as it builds upon existing MPST methods.
The paper tackled the problem of reasoning about correctness in highly-concurrent and fault-tolerant web applications by introducing a global-type framework that equips Multiparty Session Types with explicit failure semantics and dynamic participation, establishing core properties like coherence preservation.
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 semantics and dynamic participation. We define the syntax and operational semantics of these enriched global types and establish core properties, including coherence preservation. This foundation enables formal reasoning about communications in web applications where failures may occur, and lays the groundwork for future stateful extensions and automated verification of liveness properties.