Dynamic Data Race Detection for Correlated Variables
-
Name:
Konferenzartikel
-
Author:
Ali Jannesari, Markus Westphal and Walter Tichy
-
Zusammenfassung
In parallel programs concurrency bugs are often caused by unsynchronizedaccesses to shared memory locations, which are calleddata races. In order to support programmers in writing correct parallelprograms, it is therefore highly desired to have tools on handthat automatically detect such data races.Today, most of these tools only consider unsynchronized readand write operations on a single memory location. Concurrencybugs that involve multiple accesses on a set of correlated variablesmay be completely missed. Tools may overwhelm programmerswith data races on various memory locations, without noticing thatthe locations are correlated.In this paper, we propose a novel approach to data race detectionthat automatically infers sets of correlated variables and logicaloperations by analyzing data and control dependencies. For datarace detection itself, we combine a modified version of the locksetalgorithm with happens-before analysis providing the first hybrid,dynamic race detector for correlated variables.We implemented our approach on top of the Valgrind, a frameworkfor dynamic binary instrumentation. Our evaluation confirmedthat we can catch data races missed by existing detectorsand provide additional information for correct bug fixing.
-
Year:
2011
- Links:
Titel Vorname Nachname |
---|
Prof. em. Dr. Walter F. Tichy |
Dr. Ing. Ali Jannesari |
Bibtex
author={Ali Jannesari, Markus Westphal and Walter Tichy},
title={Dynamic Data Race Detection for Correlated Variables},
year=2011,
month=Oct,
booktitle={Algorithms and Architectures for Parallel Processing, 11th Int’l Conference (ICA3PP 2011)},
publisher={Springer-Verlag},
volume={7016},
series={Lecture Notes in Computer Science},
abstract={In parallel programs concurrency bugs are often caused by unsynchronizedaccesses to shared memory locations, which are calleddata races. In order to support programmers in writing correct parallelprograms, it is therefore highly desired to have tools on handthat automatically detect such data races.Today, most of these tools only consider unsynchronized readand write operations on a single memory location. Concurrencybugs that involve multiple accesses on a set of correlated variablesmay be completely missed. Tools may overwhelm programmerswith data races on various memory locations, without noticing thatthe locations are correlated.In this paper, we propose a novel approach to data race detectionthat automatically infers sets of correlated variables and logicaloperations by analyzing data and control dependencies. For datarace detection itself, we combine a modified version of the locksetalgorithm with happens-before analysis providing the first hybrid,dynamic race detector for correlated variables.We implemented our approach on top of the Valgrind, a frameworkfor dynamic binary instrumentation. Our evaluation confirmedthat we can catch data races missed by existing detectorsand provide additional information for correct bug fixing.},
pages={14-26},
address={Melbourne, Australia},
note={
Download: http://www.springerlink.com/content/j30225440r75r20t/
},}