ECOOP 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024
Tue 17 Sep 2024 14:15 - 14:30 at EI 7 - Chair(s): Jonathan Aldrich, Guido Salvaneschi

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

13:30 - 15:00
Technical Papers at EI 7
Chair(s): Jonathan Aldrich Carnegie Mellon University, Guido Salvaneschi University of St. Gallen
13:30
30m
Awards
ECOOP Awards
Technical Papers
Guido Salvaneschi University of St. Gallen, Jonathan Aldrich Carnegie Mellon University
14:00
15m
Talk
Mutation-based Lifted Repair of Software Product Lines
Technical Papers
Aleksandar S. Dimovski Mother Teresa University, Skopje
14:15
15m
Talk
Refinements for Multiparty Message-Passing Protocols: Specification-agnostic theory and implementation
Technical Papers
Martin Vassor Université de Lorraine; CNRS; Inria; LORIA, Nobuko Yoshida University of Oxford
14:30
15m
Talk
CtChecker: a Precise, Sound and Efficient Static Analysis for Constant-Time Programming
Technical Papers
Quan Zhou Penn State University, Dang Sixuan Duke University, Danfeng Zhang Duke University
14:45
15m
Talk
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

Information for Participants
Tue 17 Sep 2024 13:30 - 15:00 at EI 7 - Chair(s): Jonathan Aldrich, Guido Salvaneschi
Info for room EI 7:

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

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