Table of Contents
Fetching ...

Just Verification of Mutual Exclusion Algorithms with (Non-)Blocking and (Non-)Atomic Registers

Rob van Glabbeek, Bas Luttik, Myrthe Spronck

Abstract

We verify the correctness of a variety of mutual exclusion algorithms through model checking. We look at algorithms where communication is via shared read/write registers, where those registers can be atomic or non-atomic. For the verification of liveness properties, it is necessary to assume a completeness criterion to eliminate spurious counterexamples. We use justness as completeness criterion. Justness depends on a concurrency relation; we consider several such relations, modelling different assumptions on the working of the shared registers. We present executions demonstrating the violation of correctness properties by several algorithms, and in some cases suggest improvements.

Just Verification of Mutual Exclusion Algorithms with (Non-)Blocking and (Non-)Atomic Registers

Abstract

We verify the correctness of a variety of mutual exclusion algorithms through model checking. We look at algorithms where communication is via shared read/write registers, where those registers can be atomic or non-atomic. For the verification of liveness properties, it is necessary to assume a completeness criterion to eliminate spurious counterexamples. We use justness as completeness criterion. Justness depends on a concurrency relation; we consider several such relations, modelling different assumptions on the working of the shared registers. We present executions demonstrating the violation of correctness properties by several algorithms, and in some cases suggest improvements.

Paper Structure

This paper contains 77 sections, 26 equations, 8 figures, 18 tables, 31 algorithms.

Figures (8)

  • Figure 1: Example behaviour of SWMR safe, regular and atomic registers.
  • Figure 2: Running example to illustrate the behaviour of MWMR registers.
  • Figure 3: Full-read safe register process
  • Figure 4: Full-read regular register process
  • Figure 5: Full-read atomic register process
  • ...and 3 more figures

Theorems & Definitions (34)

  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • proof
  • ...and 24 more