On the monitorability of session types, in theory and practice

Christian Bartolo Burlò, Adrian Francalanza, Alceste Scalas

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

10 Downloads (Pure)


Software components are expected to communicate according to predetermined protocols and APIs. Numerous methods have been proposed to check the correctness of communicating systems against such protocols/APIs. Session types are one such method, used both for static type-checking as well as for run-time monitoring. This work takes a fresh look at the run-time verification of communicating systems using session types, in theory and in practice. On the theoretical side, we develop a formal model of session-monitored processes. We then use this model to formulate and prove new results on the monitorability of session types, defined in terms of soundness (i.e., whether monitors only flag ill-typed processes) and completeness (i.e., whether all ill-typed processes can be flagged by a monitor). On the practical side, we show that our monitoring theory is indeed realisable: we instantiate our formal model as a Scala toolkit (called STMonitor) for the automatic generation of session monitors. These executable monitors can be used as proxies to instrument communication across black-box processes written in any programming language. Finally, we evaluate the viability of our approach through a series of benchmarks.
Original languageEnglish
Title of host publicationProceedings of 35th European Conference on Object-Oriented Programming
PublisherSchloss Dagstuhl - Leibniz-Zentrum für Informatik
Publication date2021
ISBN (Print)978-3-95977-190-0
Publication statusPublished - 2021
Event35th European Conference on Object-Oriented Programming - Virtual event, Aarhus, Denmark
Duration: 11 Jul 202117 Jul 2021
Conference number: 35


Conference35th European Conference on Object-Oriented Programming
LocationVirtual event
City Aarhus
Internet address
SeriesLeibniz International Proceedings in Informatics, LIPIcs


  • Monitor correctness
  • Monitorability
  • Scala
  • Session types


Dive into the research topics of 'On the monitorability of session types, in theory and practice'. Together they form a unique fingerprint.

Cite this