Refinements for Multiparty Message-Passing Protocols: Specification-agnostic theory and implementation
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 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | Technical Papers at EI 7 Chair(s): Jonathan Aldrich Carnegie Mellon University, Guido Salvaneschi University of St. Gallen | ||
13:30 30mAwards | ECOOP Awards Technical Papers | ||
14:00 15mTalk | Mutation-based Lifted Repair of Software Product Lines Technical Papers Aleksandar S. Dimovski Mother Teresa University, Skopje | ||
14:15 15mTalk | Refinements for Multiparty Message-Passing Protocols: Specification-agnostic theory and implementation Technical Papers | ||
14:30 15mTalk | CtChecker: a Precise, Sound and Efficient Static Analysis for Constant-Time Programming Technical Papers | ||
14:45 15mTalk | The Fault in our Stars: Designing Reproducible Large-scale Code Analysis Experiments Technical Papers Petr Maj Czech Technical University, Stefanie Muroya Lei Institute of Science and Technology in Austria, Konrad Siek Czech Technical University in Prague, Luca Di Grazia University of Stuttgart, Jan Vitek Northeastern University |