Skip to main navigation Skip to search Skip to main content

Formal verification of scalable nonzero indicators

  • Jun SUN
  • , Yang LIU
  • , Jun SUN
  • , Jin Song DONG
  • , Wei CHEN
  • , Yanhong A. LIU
  • , Alan Z Liu

Research output: Contribution to journalArticlepeer-review

Abstract

Concurrent algorithms are notoriously difficult to design correctly, and high performance algorithms that make little or no use of locks even more so. In this paper, we describe a formal verification of a recent concurrent data structure Scalable NonZero Indicators. The algorithm supports incrementing, decrementing, and querying the shared counter in an efficient and linearizable way without blocking. The algorithm is highly non-trivial and it is challenging to prove the correctness. We have proved that the algorithm satisfies linearizability, by showing a trace refinement relation from the concrete implementation to its abstract specification. These models are specified in CSP and verified automatically using the model checking toolkit PAT.

Disciplines

  • Software Engineering

Cite this