Lecture Series on Higher-Order Concurrent Separation Logic
Lectures at The Programming Languages, Logic and Software Security Summer School, Aarhus, Denmark, Aug 12–14, 2026Abstract.
Software bugs cost billions and can have severe consequences for the infrastructure we rely on. Formally proving program correctness is therefore of paramount importance. Hoare logic provides a framework for modular verification of programs. Separation logic extends Hoare logic with a powerful concept: separation—program modules working on disjoint resources can be reasoned about in isolation from one another.
Iris, the state-of-the-art Higher-Order Concurrent Separation Logic framework, extends this further by introducing reasoning principles such as higher-order impredicative invariants and user-defined ghost resources. These features are crucial for scaling the reasoning to highly concurrent programs with shared mutable state, featuring higher-order functions written in modern programming languages such as OCaml, Rust, and Go. This course is based on the Iris lecture notes and will enable students to specify and verify concurrent data structures and algorithms in Iris.
Download & Links
- Slides:
Part0: Introduction
Part1: The Basics
Part2: Data Structures
Part3: Concurrency Basics
Part4: Robust Safety
- Iris project: https://iris-project.org
- A Software-Foundations-like Iris Tutorial: https://github.com/logsem/iris-tutorial
- Robust safety: https://github.com/amintimany/robustsafety