Getting rid of store-buffers in the analysis of weak memory models
Atig, Faouzi M., Bouajjani, Ahmed and Parlato, Gennaro (2011) Getting rid of store-buffers in the analysis of weak memory models. In, 23rd International Conference (CAV 2011), Snowbird, US, 14 - 20 Jul 2011. Springer16pp.
Download
|
PDF
- Accepted Version
Download (186Kb) |
Description/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.
| Item Type: | Conference or Workshop Item (Paper) |
|---|---|
| Subjects: | Q Science > QA Mathematics > QA75 Electronic computers. Computer science |
| Divisions: | Faculty of Physical and Applied Science > Electronics and Computer Science > Electronic & Software Systems |
| Item ID: | 272450 |
| Date Deposited: | 13 Jun 2011 13:00 |
| Last Modified: | 25 May 2012 14:46 |
| Contributors: | Atig, Faouzi M. (Author) Bouajjani, Ahmed (Author) Parlato, Gennaro (Author) |
| Date: | July 2011 |
| Status: | Unpublished |
| Publisher: | Springer |
| Further Information: | Google Scholar |
| URI: | http://eprints.soton.ac.uk/id/eprint/272450 |
Actions (login required)
![]() |
View Item |


