Table of Contents
Fetching ...

Towards Concurrent Quantitative Separation Logic

Ira Fesefeldt, Joost-Pieter Katoen, Thomas Noll

TL;DR

The paper develops concurrent, heap-manipulating probabilistic reasoning by merging Quantitative Separation Logic (QSL) with Concurrent Separation Logic (CSL) into a new framework. It introduces chpGCL, a concurrent heap-manipulating probabilistic language with Markov Decision Process semantics, and defines weakest resource-safe liberal preexpectations (wrlp) to obtain lower bounds on postconditions via resource invariants. A formal proof system accompanies the semantics, enabling backward reasoning about lower-bounded probabilistic properties in concurrent settings, and is demonstrated on a producer-consumer–lossy channel example. The approach advances scalable, sound verification of randomized, pointer-based concurrent algorithms, while highlighting limitations and directions for future work, including upper-bound reasoning and environmental probabilistic models.

Abstract

In this paper, we develop a novel verification technique to reason about programs featuring concurrency, pointers and randomization. While the integration of concurrency and pointers is well studied, little is known about the combination of all three paradigms. To close this gap, we combine two kinds of separation logic -- Quantitative Separation Logic and Concurrent Separation Logic -- into a new separation logic that enables reasoning about lower bounds of the probability to realise a postcondition by executing such a program.

Towards Concurrent Quantitative Separation Logic

TL;DR

The paper develops concurrent, heap-manipulating probabilistic reasoning by merging Quantitative Separation Logic (QSL) with Concurrent Separation Logic (CSL) into a new framework. It introduces chpGCL, a concurrent heap-manipulating probabilistic language with Markov Decision Process semantics, and defines weakest resource-safe liberal preexpectations (wrlp) to obtain lower bounds on postconditions via resource invariants. A formal proof system accompanies the semantics, enabling backward reasoning about lower-bounded probabilistic properties in concurrent settings, and is demonstrated on a producer-consumer–lossy channel example. The approach advances scalable, sound verification of randomized, pointer-based concurrent algorithms, while highlighting limitations and directions for future work, including upper-bound reasoning and environmental probabilistic models.

Abstract

In this paper, we develop a novel verification technique to reason about programs featuring concurrency, pointers and randomization. While the integration of concurrency and pointers is well studied, little is known about the combination of all three paradigms. To close this gap, we combine two kinds of separation logic -- Quantitative Separation Logic and Concurrent Separation Logic -- into a new separation logic that enables reasoning about lower bounds of the probability to realise a postcondition by executing such a program.
Paper Structure (14 sections, 43 theorems, 63 equations, 8 figures)

This paper contains 14 sections, 43 theorems, 63 equations, 8 figures.

Key Result

Theorem 4.1

For a framing-enabled non-probabilistic program $C$ and qualitative expectations $\varphi$, $\psi$ and $\xi$, we have

Figures (8)

  • Figure 1: Overview of programming language features and formal approaches (CQSL denotes our concurrent extension of QSL)
  • Figure 2: Operational semantics of basic commands in chpGCL
  • Figure 3: Operational semantics of non-concurrent control-flow operations in chpGCL
  • Figure 4: Operational semantics of concurrent control-flow operations in chpGCL
  • Figure 5: Proof rules for $\textsf{\upshape {wrlp}}$ for basic commands
  • ...and 3 more figures

Theorems & Definitions (68)

  • Definition 1: Stack
  • Definition 2: Heaps
  • Definition 3: Program States
  • Definition 4: Expectations
  • Example 5
  • Definition 6: Concurrent Heap-Manipulating Probabilistic Guarded Command Language
  • Example 7
  • Definition 8: Markov Decision Process
  • Definition 9: Scheduler
  • Definition 10: Weakest Liberal Preexpectation
  • ...and 58 more