Machine-checked semantic session typing

Conference Paper (2021)
Author(s)

Jonas Kastberg Hinrichsen (University of Copenhagen)

Daniël Louwrink (Universiteit van Amsterdam)

Robbert Krebbers (Radboud Universiteit Nijmegen, TU Delft - Programming Languages)

Jesper Bengtson (University of Copenhagen)

Research Group
Programming Languages
Copyright
© 2021 Jonas Kastberg Hinrichsen, Daniël Louwrink, R.J. Krebbers, Jesper Bengtson
DOI related publication
https://doi.org/10.1145/3437992.3439914
More Info
expand_more
Publication Year
2021
Language
English
Copyright
© 2021 Jonas Kastberg Hinrichsen, Daniël Louwrink, R.J. Krebbers, Jesper Bengtson
Research Group
Programming Languages
Pages (from-to)
178-198
ISBN (electronic)
9781450382991
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Session types- A family of type systems for message-passing concurrency-have been subject to many extensions, where each extension comes with a separate proof of type safety. These extensions cannot be readily combined, and their proofs of type safety are generally not machine checked, making their correctness less trustworthy. We overcome these shortcomings with a semantic approach to binary asynchronous affine session types, by developing a logical relations model in Coq using the Iris program logic. We demonstrate the power of our approach by combining various forms of polymorphism and recursion, asynchronous subtyping, references, and locks/mutexes. As an additional benefit of the semantic approach, we demonstrate how to manually prove typing judgements of racy, but safe, programs that cannot be type checked using only the rules of the type system.

Files

3437992.3439914.pdf
(pdf | 0.423 Mb)
License info not available