ECOOP 2022
Mon 6 June - Thu 7 July 2022 Berlin, Germany
Thu 9 Jun 2022 11:30 - 11:50 at Aurora Borealis 1 - Session Types 1 Chair(s): Dominic Orchard
Thu 16 Jun 2022 15:30 - 16:00 at Zoom - VCOOP 1 Chair(s): Tijs van der Storm

Session types have proved viable in expressing and verifying the protocols of message-passing systems. While message passing is a dominant concurrency paradigm in practice, real world software is written without session types. A limitation of existing session type libraries in mainstream languages is their restriction to linear session types, precluding application scenarios that demand sharing and thus aliasing of channel references.

This paper introduces Ferrite, a shallow embedding of session types in Rust that supports both linear and shared sessions. The formal foundation of Ferrite constitutes the shared session type calculus SILL_S, which Ferrite encodes via a novel judgmental embedding technique. The fulcrum of the embedding is the notion of a typing judgment that allows reasoning about shared and linear resources to type a session. Typing rules are then encoded as functions over judgments, with a valid typing derivation manifesting as a well-typed Rust program. This Rust program generated by Ferrite serves as a certificate, ensuring that the application will proceed according to the protocol defined by the session type. The paper details the features and implementation of Ferrite and includes a case study on implementing Servo’s canvas component in Ferrite.

Thu 9 Jun

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

11:00 - 12:30
Session Types 1Research Papers / Expert Discussion at Aurora Borealis 1
Chair(s): Dominic Orchard University of Kent, UK
11:00
30m
Panel
Concurrent and distributed programmingExpert Discussion
Expert Discussion
P: Annette Bieniusa Technische Universität Kaiserslautern, P: Andrew K. Hirsch MPI-SWS
11:30
20m
Talk
Ferrite: A Judgmental Embedding of Session Types in RustArtifacts Evaluated - ReusableDistinguished Paper AwardArtifacts Evaluated - FunctionalVCOOP 2022ECOOP 2022
Research Papers
Ruo Fei Chen Independent Researcher, Stephanie Balzer Carnegie Mellon University, Bernardo Toninho Nova University of Lisbon / NOVA-LINCS
Pre-print
11:50
20m
Talk
API Generation for Multiparty Session Types, Revisited and Revised using Scala 3 (Pearl)Artifacts Evaluated - FunctionalVCOOP 2022ECOOP 2022
Research Papers
Guillermina Cledou HASLab, INESC TEC; University of Minho, Luc Edixhoven Open University of the Netherlands; CWI, Sung-Shik Jongmans Open University of the Netherlands; CWI, José Proença ISEP P.PORTO & INESC TEC

Thu 16 Jun

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

15:00 - 16:30
VCOOP 1Research Papers at Zoom
Chair(s): Tijs van der Storm CWI; University of Groningen
15:00
30m
Talk
PEDroid: Automatically Extracting Patches from Android App UpdatesArtifacts Evaluated - FunctionalVCOOP 2022
Research Papers
Hehao Li Shanghai Jiao Tong University, Yizhuo Wang Shanghai Jiao Tong University, Yiwei Zhang Shanghai Jiao Tong University, Juanru Li Shanghai Jiao Tong University, Dawu Gu Shanghai Jiao Tong University
15:30
30m
Talk
Ferrite: A Judgmental Embedding of Session Types in RustArtifacts Evaluated - ReusableDistinguished Paper AwardArtifacts Evaluated - FunctionalVCOOP 2022ECOOP 2022
Research Papers
Ruo Fei Chen Independent Researcher, Stephanie Balzer Carnegie Mellon University, Bernardo Toninho Nova University of Lisbon / NOVA-LINCS
Pre-print
16:00
30m
Talk
Automatic Root Cause Quantification for Missing Edges in JavaScript Call GraphsArtifacts Evaluated - FunctionalVCOOP 2022
Research Papers
Madhurima Chakraborty University of California, Riverside, Renzo Olivares University of California, Riverside, Manu Sridharan University of California at Riverside, Behnaz Hassanshahi Oracle Labs, Australia
Pre-print