Skip to main navigation Skip to search Skip to main content

Machine-Checked Semantic Session Typing

  • Jonas Kastberg Hinrichsen
  • , Daniël Louwrink
  • , Robbert Krebbers
  • , Jesper Bengtson
  • Delft University of Technology
  • Radboud University Nijmegen
  • University of Amsterdam

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

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.
Original languageEnglish
Title of host publicationCPP 2021: Proceedings of the 10th ACM SIGPLAN International Conference on Certified Programs and Proofs
PublisherAssociation for Computing Machinery
Publication date2021
Pages178–198
DOIs
Publication statusPublished - 2021
EventInternational Conference on Certified Programs and Proofs - VIRTUAL
Duration: 17 Jan 202119 Jan 2021
Conference number: 10

Conference

ConferenceInternational Conference on Certified Programs and Proofs
Number10
CityVIRTUAL
Period17/01/202119/01/2021

Keywords

  • Message passing
  • Session types
  • Separation logic
  • Semantic typing
  • Iris
  • Coq

Fingerprint

Dive into the research topics of 'Machine-Checked Semantic Session Typing'. Together they form a unique fingerprint.

Cite this