Litcius/Paper detail

CAAT: consistency as a theory

Thomas Haas, Roland Meyer, Hernán Ponce-de-León

2022Proceedings of the ACM on Programming Languages11 citationsDOIOpen Access PDF

Abstract

We propose a family of logical theories for capturing an abstract notion of consistency and show how to build a generic and efficient theory solver that works for all members in the family. The theories can be used to model the influence of memory consistency models on the semantics of concurrent programs. They are general enough to precisely capture important examples like TSO, POWER, ARMv8, RISC-V, RC11, IMM, and the Linux kernel memory model. To evaluate the expressiveness of our theories and the performance of our solver, we integrate them into a lazy SMT scheme that we use as a backend for a bounded model checking tool. An evaluation against related verification tools shows, besides flexibility, promising performance on challenging programs under complex memory models.

Topics & Concepts

Sequential consistencyComputer scienceConsistency (knowledge bases)Memory modelProgramming languageConsistency modelSemantics (computer science)Flexibility (engineering)Satisfiability modulo theoriesSolverTheoretical computer scienceCausal consistencyKernel (algebra)Weak consistencyExpressive powerLogical frameworkScheme (mathematics)Shared memoryParallel computingArtificial intelligenceStrong consistencyMathematicsDiscrete mathematicsMathematical analysisCorrectnessEstimatorStatisticsFormal Methods in VerificationSecurity and Verification in ComputingLogic, programming, and type systems