RAT-CAT-SAT: Model Checking Memory Consistency Models
We present a model checking approach for axiomatic memory consistency models written in the language CAT.
It can prove properties of single memory models like the monotonicity of barriers, and also compare models like TSO and ARM.
To achieve this expressiveness, our approach supports the full rational fragment of CAT.
We not only support the Kleene star operation, composition, and union to define relations in a memory model, but also, for the first time, intersection, converse, and the construction of relations from sets.
Our model checking approach for memory consistency models is logical in nature: we formulate the problem as satisfiability in a logical theory of relations.
Our technical contribution is then a new theory solver that is sound, complete, and optimal from a complexity point of view.
At the heart of our solver is a cyclic proof system that can detect invariants on-the-fly.
This allows us to terminate early not only in the case that a model has been found, but also in the case of unsatisfiability.
Our solver is easy to implement and easy to combine with heuristics.
We have implemented a combination with counterexample-guided abstraction refinement, and exercised the prototype on a number of benchmarks - with promising results.
Tue 6 OctDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | Verifying Real SystemsOOPSLA at Junior Ballroom 3&4 Chair(s): Bor-Yuh Evan Chang University of Colorado Boulder; Amazon | ||
13:30 18mTalk | Formalizing the Linux eBPF Core ISA: A Mechanized Operational Semantics and Its Real-World Applications OOPSLA Shenghao Yuan Zhejiang University, Yazhou Tang Zhejiang University, Tianci Cao Zhejiang University, Frédéric Besson Inria Rennes, Jean-Pierre Talpin Inria, Mingshuai Chen Zhejiang University DOI File Attached | ||
13:48 18mTalk | ZSafe: Proving the Safety of Proprietary Hardware Designs in Zero Knowledge OOPSLA Zhaoxiang Liu Kansas State University, James Parker Ossa Network, Ning Luo University of Illinois at Urbana-Champaign DOI | ||
14:06 18mTalk | Equivalence Checking of ML GPU Kernels OOPSLA Benjamin Driscoll Stanford University, Kshitij Dubey Microsoft Research, Anjiang Wei Stanford University, Neeraj Kayal Microsoft Research, Rahul Sharma Google DeepMind, Alex Aiken Stanford University DOI | ||
14:24 18mTalk | AADT: Abstract Abstract Data Types OOPSLA Julien Simonnet Université Paris-Saclay - CEA LIST, Matthieu Lemerre Université Paris-Saclay - CEA LIST, Mihaela Sighireanu Université Paris-Saclay - ENS Paris-Saclay - CNRS - LMF DOI | ||
14:42 18mTalk | RAT-CAT-SAT: Model Checking Memory Consistency Models OOPSLA DOI | ||