POPL 2025
Sun 19 - Sat 25 January 2025 Denver, Colorado, United States

This program is tentative and subject to change.

Stateless model checking (SMC) is a fully automated (“push-button”) technique for verifying con- current and distributed programs that is easy to use and hard to master. One writes a self-contained program — typically a test client of a concurrent library containing some assertions — and invokes the model checker. The model checker then explores all the possible executions of the program (i.e., all thread interleavings, all weak memory consistency effects) in a very clever fashion, and either reports that the program is correct or returns a concrete program execution leading to an error.

This tutorial will cover both the theory and the practice of stateless model checking using GenMC, a state-of-the-art model checker for C/C++ programs. More specifically, we will cover the following topics:

  • How does SMC work?
  • How can we apply SMC to our code?
  • How can we estimate how much time verification will take?
  • What options do we have when the time estimate is too large?
  • How can we make verification more efficient?
  • What else (besides correctness) can we get from a model checker?

This program is tentative and subject to change.

Tue 21 Jan

Displayed time zone: Mountain Time (US & Canada) change

09:00 - 10:30
Stateless model checking concurrent and distributed programs Tutorials at Red Rover
09:00
90m
Tutorial
Stateless Model Checking Concurrent and Distributed Programs
Tutorials
P: Michalis Kokologiannakis ETH Zurich, P: Viktor Vafeiadis MPI-SWS