ECOOP 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024
Tue 17 Sep 2024 16:45 - 17:00 at EI 7 - Types 2

Multiparty message-passing protocols are notoriously difficult to design, due to interaction mismatches that lead to errors such as deadlocks. Existing protocol specification formats have been developed to prevent such errors (e.g. multiparty session types). In order to further constrain protocols, specifications can be extended with refinements, i.e. logical predicates to control the behaviour of the protocol based on the value of previous values exchanged. Unfortunately, existing refinement theories and implementations are tightly coupled with specific specification formats.

This paper proposes a framework for multiparty message-passing protocols with refinements and its implementation in Rust. Our work decouples correctness of refinements from the underlying model of computation, which results in a specification-agnostic framework.

Our contributions are threefold. First, we introduce a trace system which characterises valid refined traces, i.e. a sequence of sending and receiving actions correct with respect to refinements. Second, we give a correct model of computation refined communicating system (RCS), which is an extension of communicating automata system with refinements. We prove that RCS only produce valid refined traces. We show how to generate RCS from mainstream protocol specification formats, such as refined multiparty session types (RMPST) or refined choreography automata. Third, we illustrate the flexibility of the framework by developing both a static analysis technique and an improved model of computation for dynamic refinement evaluation. Finally, we provide a Rust toolchain for decentralised RMPST, evaluate our implementation with a set of benchmarks from the literature, and observe that refinement overhead is negligible.

Tue 17 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:30 - 17:00
15:30
15m
Talk
InferType: A Compiler Toolkit for Implementing Efficient Constraint-Based Type Inference
Technical Papers
Senxi Li The University of Tokyo, Tetsuro Yamazaki University of Tokyo, Shigeru Chiba University of Tokyo
15:45
15m
Talk
A Sound Type System for Secure Currency Flow
Technical Papers
Luca Aceto Reykjavik University, Daniele Gorla Department of Computer Science, Sapienza University of Rome, Stian Lybech Reykjavik University
16:00
15m
Talk
Type Tailoring
Technical Papers
Ashton Wiersdorf University of Utah, Stephen Chang University of Massachusetts Boston, Matthias Felleisen Northeastern University, Ben Greenman University of Utah
16:15
15m
Talk
Learning Gradual Typing Performance
Technical Papers
Mohammad Wahiduzzaman Khan UL Lafayette, Sheng Chen University of Louisiana at Lafayette, Yi He Old Dominion University
16:30
15m
Talk
Generalizing Shape Analysis with Gradual Types
Technical Papers
Zeina Migeed University of California, Los Angeles, James Reed Fireworks AI, Jason Ansel Meta, Jens Palsberg University of California, Los Angeles (UCLA)
16:45
15m
Talk
Refinements for Multiparty Message-Passing Protocols: Specification-agnostic theory and implementation
Technical Papers
Martin Vassor University of Oxford, UK, Nobuko Yoshida University of Oxford

Information for Participants
Tue 17 Sep 2024 15:30 - 17:00 at EI 7 - Types 2
Info for room EI 7:

Map: https://tuw-maps.tuwien.ac.at/?q=CDEG13

Room tech: https://raumkatalog.tiss.tuwien.ac.at/room/15417