Getting rid of store-buffers in TSO analysis
Getting rid of store-buffers in TSO analysis
We propose an approach for reducing the TSO reachability analysis of concurrent programs to their SC reachability analysis, under some conditions on the explored behaviors. First, we propose a linear code-to-code translation that takes as input a concurrent program P and produces a concurrent program P? such that, running P? under SC yields the same set of reachable (shared) states as running P under TSO with at most k context-switches for each thread, for a fixed k. Basically, we show that it is possible to use only O(k) additional copies of the shared variables of P as local variables to simulate the store buffers, even if they are unbounded. Furthermore, we show that our translation can be extended so that an unbounded number of context-switches is possible, under the condition that each write operation sent to the store buffer stays there for at most k context-switches of the thread. Experimental results show that bugs due to TSO can be detected with small bounds, using off-the-shelf SC analysis tools.
99-115
Atig, Mohamed Faouzi
8e9668c9-2c07-4a02-8a63-709e4a5322d2
Bouajjani, Ahmed
dbe55df0-44d8-45b0-93ca-75357b43e346
Parlato, Gennaro
c28428a0-d3f3-4551-a4b5-b79e410f4923
Atig, Mohamed Faouzi
8e9668c9-2c07-4a02-8a63-709e4a5322d2
Bouajjani, Ahmed
dbe55df0-44d8-45b0-93ca-75357b43e346
Parlato, Gennaro
c28428a0-d3f3-4551-a4b5-b79e410f4923
Atig, Mohamed Faouzi, Bouajjani, Ahmed and Parlato, Gennaro
(2011)
Getting rid of store-buffers in TSO analysis.
23rd International Conference on Computer Aided Verification (CAV 2011), Snowbird, United States.
14 - 20 Jul 2011.
.
(doi:10.1007/978-3-642-22110-1_9).
Record type:
Conference or Workshop Item
(Paper)
Abstract
We propose an approach for reducing the TSO reachability analysis of concurrent programs to their SC reachability analysis, under some conditions on the explored behaviors. First, we propose a linear code-to-code translation that takes as input a concurrent program P and produces a concurrent program P? such that, running P? under SC yields the same set of reachable (shared) states as running P under TSO with at most k context-switches for each thread, for a fixed k. Basically, we show that it is possible to use only O(k) additional copies of the shared variables of P as local variables to simulate the store buffers, even if they are unbounded. Furthermore, we show that our translation can be extended so that an unbounded number of context-switches is possible, under the condition that each write operation sent to the store buffer stays there for at most k context-switches of the thread. Experimental results show that bugs due to TSO can be detected with small bounds, using off-the-shelf SC analysis tools.
Text
CAV2011.pdf
- Accepted Manuscript
More information
e-pub ahead of print date: July 2011
Venue - Dates:
23rd International Conference on Computer Aided Verification (CAV 2011), Snowbird, United States, 2011-07-14 - 2011-07-20
Organisations:
Electronic & Software Systems
Identifiers
Local EPrints ID: 272450
URI: http://eprints.soton.ac.uk/id/eprint/272450
PURE UUID: 1f1b302d-4560-4d39-ab43-82bfe97f87e7
Catalogue record
Date deposited: 13 Jun 2011 13:00
Last modified: 14 Mar 2024 10:02
Export record
Altmetrics
Contributors
Author:
Mohamed Faouzi Atig
Author:
Ahmed Bouajjani
Author:
Gennaro Parlato
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics