Reasoning About TSO Programs Using Reduction and Abstraction

04/14/2018
by   Ahmed Bouajjani, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/19/2023

View-Based Axiomatic Reasoning for PSO (Extended Version)

Weak memory models describe the semantics of concurrent programs on mode...
research
08/08/2019

Privatization-Safe Transactional Memories (Extended Version)

Transactional memory (TM) facilitates the development of concurrent appl...
research
10/27/2020

Verified Secure Compilation for Mixed-Sensitivity Concurrent Programs

Proving only over source code that programs do not leak sensitive data l...
research
01/23/2021

Equational reasoning for non-determinism monad: the case of Spark aggregation

As part of the author's studies on equational reasoning for monadic prog...
research
09/25/2019

VirtSC: Combining Virtualization Obfuscation with Self-Checksumming

Self-checksumming (SC) is a tamper-proofing technique that ensures certa...
research
06/23/2021

MAGE: Nearly Zero-Cost Virtual Memory for Secure Computation

Secure Computation (SC) is a family of cryptographic primitives for comp...
research
03/11/2020

Local Local Reasoning: A BI-Hyperdoctrine for Full Ground Store

Modelling and reasoning about dynamic memory allocation is one of the we...

Please sign up or login with your details

Forgot password? Click here to reset