Reasoning About TSO Programs Using Reduction and Abstraction

Published in International Conference on Computer Aided Verification (CAV), 2018

Recommended citation: Ahmed Bouajjani, Constantin Enea, Suha Mutluergil and Serdar Tasiran. "Reasoning About TSO Programs Using Reduction and Abstraction." In Proceedings of the 29th International Conference on Computer Aided Verification (CAV), 2018.

This paper aims to apply well known reduction and abstraction technique for sequentially consistent programs to the TSO weak memory model.

pdf extended version

Abstract. We present a method for proving that a program running under the Total Store Ordering (TSO) memory model is robust, i.e., all its TSO computations are equivalent to computations under the Sequential Consistency (SC) semantics. This method is inspired by Lipton’s reduction theory for proving atomicity of concurrent programs. For programs which are not robust, we introduce an abstraction mechanism that allows to construct robust programs over-approximating their TSO semantics. This enables the use of proof methods designed for the SC semantics in proving invariants that hold on the TSO semantics of a non-robust program. These techniques have been evaluated on a large set of benchmarks using the infrastructure provided by CIVL, a generic tool for reasoning about concurrent programs under the SC semantics.