| On-the-fly race detection in multi-threaded programs |
| Full text |
Pdf
(1.89 MB)
|
| Source
|
International Symposium on Software Testing and Analysis
archive
Proceedings of the 6th workshop on Parallel and distributed systems: testing, analysis, and debugging
table of contents
Seattle, Washington
Article No. 6
Year of Publication: 2008
ISBN:978-1-60558-052-4
|
|
Authors
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 30, Downloads (12 Months): 190, Citation Count: 0
|
|
|
ABSTRACT
Multi-core chips enable parallel processing for general purpose applications. Unfortunately, parallel programs may contain synchronization defects. Such defects are difficult to detect due to nondeterministic interleavings of parallel threads. Current tools for detecting these defects produce numerous false alarms, thereby concealing the true defects. This paper describes an extended race detection technique based on a combination of lockset analysis and the happens-before relation. The approach provides more accurate warnings and significantly reduces the number of false positives, while limiting the number of false negatives. The technique is implemented in Helgrind+, an extension of the open source dynamic race detector Helgrind. Experimental results with several applications and benchmarks demonstrate a significant reduction in false alarms at a moderate runtime increase.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
The SPLASH-2 Programs: Characterization and Methodological Considerations, Santa Margherita Ligure, Italy, 1995.
|
| |
2
|
C. Bienia, S. Kumar, J. P. Singh, and K. Li. The PARSEC benchmark suite: Characterization and architectural implications. Technical report, January 2008.
|
 |
3
|
|
 |
4
|
|
| |
5
|
|
| |
6
|
|
 |
7
|
|
 |
8
|
Orit Edelstein , Eitan Farchi , Yarden Nir , Gil Ratsaby , Shmuel Ur, Multithreaded Java program test generation, Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande, p.181, June 2001, Palo Alto, California, United States
[doi> 10.1145/376656.376848]
|
 |
9
|
|
| |
10
|
J. Gilchrist. Parallel bzip2 (pbzip2):data compression software, 2007.
|
| |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
F. Mattern. Virtual time and global states of distributed systems. In Parallel and Distributed Algorithms: proceedings of the International Workshop on Parallel and Distributed Algorithms.
|
| |
15
|
N. Nethercote. Dynamic Binary Analysis and Instrumentation. PhD thesis, University of Cambridge, UK, 2004.
|
| |
16
|
N. Nethercote and J. Seward. Valgrind: A program supervision framework. 2003.
|
 |
17
|
|
 |
18
|
|
| |
19
|
|
 |
20
|
|
 |
21
|
|
| |
22
|
|
 |
23
|
|
 |
24
|
|
 |
25
|
Paul Sack , Brian E. Bliss , Zhiqiang Ma , Paul Petersen , Josep Torrellas, Accurate and efficient filtering for the Intel thread checker race detector, Proceedings of the 1st workshop on Architectural and system support for improving software dependability, p.34-41, October 21-21, 2006, San Jose, California
[doi> 10.1145/1181309.1181315]
|
 |
26
|
|
| |
27
|
J. Seward. bzip2: A free data compressor, 2007.
|
| |
28
|
Valgrind-project. Helgrind: a data-race detector, 2007.
|
 |
29
|
|
 |
30
|
|
|