Kater: Automating Weak Memory Model Metatheory and Consistency Checking

Michalis Kokologiannakis, Ori Lahav, Viktor Vafeiadis

Research output: Contribution to journalArticlepeer-review


The metatheory of axiomatic weak memory models covers questions like the correctness of compilation mappings from one model to another and the correctness of local program transformations according to a given model - -topics usually requiring lengthy human investigation. We show that these questions can be solved by answering a more basic question: "Given two memory models, is one weaker than the other?"Moreover, for a wide class of axiomatic memory models, we show that this basic question can be reduced to a language inclusion problem between regular languages, which is decidable. Similarly, implementing an efficient check for whether an execution graph is consistent according to a given memory model has required non-trivial manual effort. Again, we show that such efficient checks can be derived automatically for a wide class of axiomatic memory models, and that incremental consistency checks can be incorporated in GenMC, a state-of-the-art model checker for concurrent programs. As a result, we get the first time- and space-efficient bounded verifier taking the axiomatic memory model as an input parameter.

Original languageEnglish
Pages (from-to)544-572
Number of pages29
JournalProceedings of the ACM on Programming Languages
StatePublished - 9 Jan 2023


  • Kleene Algebra with Tests
  • Model Checking
  • Weak Memory Models

All Science Journal Classification (ASJC) codes

  • Software
  • Safety, Risk, Reliability and Quality


Dive into the research topics of 'Kater: Automating Weak Memory Model Metatheory and Consistency Checking'. Together they form a unique fingerprint.

Cite this