Kater: Automating Weak Memory Model Metatheory and Consistency Checking

Michalis Kokologiannakis, Ori Lahav, Viktor Vafeiadis

Research output: Contribution to journalArticlepeer-review

7 Scopus citations

Abstract

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
Volume7
DOIs
StatePublished - 9 Jan 2023

Keywords

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

Fingerprint

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

Cite this