Communication-Safe Web Programming in TypeScript with Routed Multiparty Session Types
Anson Miu (1, 2), Francisco Ferreira (1), Nobuko Yoshida (1),, Fangyi Zhou (1) ((1) Imperial College London, (2) Bloomberg)

TL;DR
This paper introduces STScript, a toolchain for generating communication-safe TypeScript APIs for web applications, supported by RouST, a new session type theory enabling multiparty routing and safety guarantees.
Contribution
It presents RouST, a novel session type theory for multiparty communication with routing, and STScript, a toolchain that generates safe, protocol-compliant TypeScript APIs for web development.
Findings
STScript effectively supports modern web programming with real-world case studies.
RouST guarantees communication safety in multiparty web interactions.
The generated APIs integrate seamlessly with Node.js and React.js frameworks.
Abstract
Modern web programming involves coordinating interactions between browser clients and a server. Typically, the interactions in web-based distributed systems are informally described, making it hard to ensure correctness, especially communication safety, i.e. all endpoints progress without type errors or deadlocks, conforming to a specified protocol. We present STScript, a toolchain that generates TypeScript APIs for communication-safe web development over WebSockets, and RouST, a new session type theory that supports multiparty communications with routing mechanisms. STScript provides developers with TypeScript APIs generated from a communication protocol specification based on RouST. The generated APIs build upon TypeScript concurrency practices, complement the event-driven style of programming in full-stack web development, and are compatible with the Node.js runtime for server-side…
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
TopicsSoftware Testing and Debugging Techniques · Logic, programming, and type systems · Web Application Security Vulnerabilities
