SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Wed 18 Nov 2020 16:00 - 16:20 at OOPSLA/ECOOP - W-5
Thu 19 Nov 2020 04:00 - 04:20 at OOPSLA/ECOOP - W-5

With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an open challenge. To address this, multiparty session types (MPST) provide a typing discipline for message-passing concurrency, guaranteeing communication safety properties such as deadlock freedom.

While originally MPST focus on the communication aspects, and employ a simple typing system for communication payloads, communication protocols in the real world usually contain \emph{constraints} on the payload. We introduce \emph{refined multiparty session types (RMPST)}, an extension of MPST, that express data dependent protocols via \emph{refinement types} on the data types.

We provide an implementation of RMPST, in a toolchain called Session*, using Scribble, a multiparty protocol description toolchain, and targeting F*, a verification-oriented functional programming language. Users can describe a protocol in Scribble and implement the endpoints in F* using \emph{refinement-typed} APIs generated from the protocol. The F* compiler can then statically verify the refinements. Moreover, we use a novel approach of callback-styled API generation, providing \emph{static} linearity guarantees with the inversion of control. We evaluate our approach with real world examples and show that it has little overhead compared to a naive implementation, while guaranteeing safety properties from the underlying theory.

Wed 18 Nov
Times are displayed in time zone: Central Time (US & Canada) change

15:00 - 16:20: W-5OOPSLA at OOPSLA/ECOOP +12h
15:00 - 15:20
Talk
OOPSLA
Thodoris SotiropoulosAthens University of Economics and Business, Stefanos ChaliasosAthens University of Economics and Business, Dimitris MitropoulosAthens University of Economics and Business, Diomidis SpinellisAthens University of Economics and Business
Pre-print
15:20 - 15:40
Talk
OOPSLA
Azalea RaadImperial College London, Ori LahavTel Aviv University, Israel, Viktor VafeiadisMPI-SWS, Germany
15:40 - 16:00
Talk
OOPSLA
Sumit GulwaniMicrosoft, Vu LeMicrosoft, Arjun RadhakrishnaMicrosoft, Ivan RadičekMicrosoft, Mohammad RazaMicrosoft
16:00 - 16:20
Talk
OOPSLA
Fangyi ZhouImperial College London, Francisco FerreiraImperial College London, Raymond HuUniversity of Hertfordshire, Rumyana NeykovaBrunel University London, Nobuko YoshidaImperial College London
Pre-print

Thu 19 Nov
Times are displayed in time zone: Central Time (US & Canada) change

03:00 - 04:20: W-5OOPSLA at OOPSLA/ECOOP
03:00 - 03:20
Talk
OOPSLA
Thodoris SotiropoulosAthens University of Economics and Business, Stefanos ChaliasosAthens University of Economics and Business, Dimitris MitropoulosAthens University of Economics and Business, Diomidis SpinellisAthens University of Economics and Business
Pre-print
03:20 - 03:40
Talk
OOPSLA
Azalea RaadImperial College London, Ori LahavTel Aviv University, Israel, Viktor VafeiadisMPI-SWS, Germany
03:40 - 04:00
Talk
OOPSLA
Sumit GulwaniMicrosoft, Vu LeMicrosoft, Arjun RadhakrishnaMicrosoft, Ivan RadičekMicrosoft, Mohammad RazaMicrosoft
04:00 - 04:20
Talk
OOPSLA
Fangyi ZhouImperial College London, Francisco FerreiraImperial College London, Raymond HuUniversity of Hertfordshire, Rumyana NeykovaBrunel University London, Nobuko YoshidaImperial College London
Pre-print