@inproceedings{9e66cf2ed6bc4f5fbf7202f7c2e15e0e,
title = "Machine-checked semantic session typing",
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. ",
keywords = "Concurrency, Coq, Iris, Message passing, Semantic typing, Separation logic, Session types",
author = "Hinrichsen, {Jonas Kastberg} and Dani{\"e}l Louwrink and Robbert Krebbers and Jesper Bengtson",
year = "2021",
doi = "10.1145/3437992.3439914",
language = "English",
series = "CPP 2021 - Proceedings of the 10th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2021",
publisher = "Association for Computing Machinery (ACM)",
pages = "178--198",
editor = "Catalin Hritcu and Andrei Popescu",
booktitle = "CPP 2021 - Proceedings of the 10th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2021",
address = "United States",
note = "10th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2021, co-located with POPL 2021 ; Conference date: 17-01-2021 Through 19-01-2021",
}