Type systems and program logics based on session types provide powerful high-level reasoning principles for message-passing concurrency. Modern versions employ bidirectional session channels that (1) are asynchronous so that \textbf{send} operations do not block, (2) have buffers in both directions so that both parties can send messages in parallel, and (3) feature a \textbf{link} operation (also called \textbf{forward}) to concisely write programs in \emph{process style}. These features complicate a low-level lock-free implementation of channels and therefore increase the gap between the meta theory of prior work – which is verified w.r.t a high-level semantics of channels (e.g. $\pi$-calculus) – and the code that runs on an actual computer.
We address this problem by verifying a low-level lock-free implementation of session channels w.r.t. a high-level specification based on session types. We carry out our verification in a layered manner by employing the Iris framework for concurrent separation logic. We start from (unidirectional) queues and gradually build up to session channels with all of the aforementioned features. To enable a layered verification we develop two generic logical abstractions – \emph{queues with ghost linking} and \emph{pairing invariants} – to reason about the atomicity and changing endpoints due to linking, respectively. All our results are mechanized in the Coq proof assistant.
Thu 24 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:40 | |||
16:00 20mTalk | Concurrent Data Structures Made Easy OOPSLA 2024 Callista Le Yale-NUS College, Kiran Gopinathan National University of Singapore, Lee Koon Wen Ahrefs, Seth Gilbert National University of Singapore, Ilya Sergey National University of Singapore DOI | ||
16:20 20mTalk | Automated Verification of Parametric Channel-Based Process Communication OOPSLA 2024 Georgian-Vlad Saioc Aarhus University, Julien Lange Royal Holloway, University of London, Anders Møller Aarhus University DOI | ||
16:40 20mTalk | Automated Robustness Verification of Concurrent Data Structure Libraries Against Relaxed Memory Models OOPSLA 2024 Kartik Nagar IIT Madras, Anmol Sahoo Purdue University, Romit Roy Chowdhury Chennai Mathematical Institute, Suresh Jagannathan Purdue University DOI | ||
17:00 20mTalk | Verified Lock-Free Session Channels with Linking OOPSLA 2024 DOI | ||
17:20 20mTalk | Scenario-based Proofs for Concurrent ObjectsRemote OOPSLA 2024 DOI |