Title
Lazy TSO Reachability.
Abstract
We address the problem of checking state reachability for programs running under Total Store Order TSO. The problem has been shown to be decidable but the cost is prohibitive, namely non-primitive recursive. We propose here to give up completeness. Our contribution is a new algorithm for TSO reachability: it uses the standard SC semantics and introduces the TSO semantics lazily and only where needed. At the heart of our algorithm is an iterative refinement of the program of interest. If the program's goal state is SC-reachable, we are done. If the goal state is not SC-reachable, this may be due to the fact that SC underapproximates TSO. We employ a second algorithm that determines TSO computations which are infeasible under SC, and hence likely to lead to new states. We enrich the program to emulate, under SC, these TSO computations. Altogether, this yields an iterative under-approximation that we prove sound and complete for bug hunting, i.e., a semi-decision procedure halting for positive cases of reachability.We have implemented the procedure as an extension to the tool Trencher [1] and compared it to the Memorax [2] and CBMC [14] model checkers.
Year
DOI
Venue
2015
10.1007/978-3-662-46675-9_18
FASE
DocType
Volume
ISSN
Journal
abs/1501.02683
0302-9743
Citations 
PageRank 
References 
1
0.35
16
Authors
4
Name
Order
Citations
PageRank
Ahmed Bouajjani12663184.84
Georgel Calin2252.22
Egor Derevenetc3613.75
Roland Meyer410.35