On the boundary between decidability and undecidability of asynchronous session subtyping

Mario Bravetti, Marco Carbone, Gianluigi Zavattaro

Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review

Abstract

Session types are behavioural types for guaranteeing that concurrent programs are free from basic communication errors. Recent work has shown that asynchronous session subtyping is undecidable. However, since session types have become popular in mainstream programming languages in which asynchronous communication is the norm rather than the exception, it is crucial to detect significant decidable subtyping relations. Previous work considered extremely restrictive fragments in which limitations were imposed to the size of communication buffer (at most 1) or to the possibility to express multiple choices (disallowing them completely in one of the compared types). In this work, for the first time, we show decidability of a fragment that does not impose any limitation on communication buffers and allows both the compared types to include multiple choices for either input or output, thus yielding a fragment which is more significant from an applicability viewpoint. In general, we study the boundary between decidability and undecidability by considering several fragments of subtyping. Notably, we show that subtyping remains undecidable even if restricted to not using output covariance and input contravariance.
Original languageEnglish
JournalTheoretical Computer Science
Volume722
Pages (from-to)19-51
Number of pages33
ISSN0304-3975
DOIs
Publication statusPublished - 2018

Keywords

  • Session Types
  • Asynchronous Subtyping
  • Undecidability

Fingerprint

Dive into the research topics of 'On the boundary between decidability and undecidability of asynchronous session subtyping'. Together they form a unique fingerprint.

Cite this