Session types guarantee that message-passing processes adhere to predefined communication protocols.
Prior work on session types has focused on deterministic languages but many message-passing systems, such as Markov chains and randomized distributed algorithms, are probabilistic.
To implement and analyze such systems, this article develops the meta theory of probabilistic session types with an application focus on automatic expected resource analysis.
Probabilistic session types describe probability distributions over messages and are a conservative extension of intuitionistic (binary) session types.
To send on a probabilistic channel, processes have to utilize internal randomness from a probabilistic branching or external randomness from receiving on a probabilistic channel.
The analysis for expected resource bounds is smoothly integrated with the type system and is a variant of automatic amortized resource analysis.
Type inference relies on linear constraint solving to automatically derive symbolic bounds for various cost metrics.
The technical contributions include the meta theory that is based on a novel nested multiverse semantics and a type-reconstruction algorithm that allows flexible mixing of different sources of randomness without burdening the programmer with complex type annotations.
The type system has been implemented in the language NomosPro with linear-time type checking.
Experiments demonstrate that NomosPro is applicable in different domains such as cost analysis of randomized distributed algorithms, analysis of Markov chains, probabilistic analysis of amortized data structures and digital contracts.
NomosPro is also shown to be scalable by (i) implementing two broadcast and a bounded retransmission protocol where messages are dropped with a fixed probability, and (ii) verifying the limiting distribution of a Markov chain with 64 states and 420 transitions.
Thu 19 JanDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 14:45 | |||
13:30 25mTalk | Probabilistic Resource-Aware Session Types POPL DOI | ||
13:55 25mTalk | A Calculus for Amortized Expected Runtimes POPL Kevin Batz RWTH Aachen University, Benjamin Lucien Kaminski Saarland University; University College London, Joost-Pieter Katoen RWTH Aachen University, Christoph Matheja DTU, Lena Verscht RWTH Aachen University DOI | ||
14:20 25mTalk | A General Noninterference Policy for Polynomial Time POPL Emmanuel Hainry Université de Lorraine; CNRS; Inria; LORIA, Romain Péchoux Université de Lorraine; CNRS; Inria; LORIA DOI |