ACM Home Page
Please provide us with feedback. Feedback
LiteRace: effective sampling for lightweight data-race detection
Full text PdfPdf (495 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation table of contents
Dublin, Ireland
SESSION: Races and deadlocks table of contents
Pages 134-143  
Year of Publication: 2009
ISBN:978-1-60558-392-1
Also published in ...
Authors
Daniel Marino  University of California, Los Angeles, Los Angeles, CA, USA
Madanlal Musuvathi  Microsoft Research, Redmond, Redmond, WA, USA
Satish Narayanasamy  University of Michigan, Ann Arbor, Ann Arbor, MI, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 35,   Downloads (12 Months): 126,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542476.1542491
What is a DOI?

ABSTRACT

Data races are one of the most common and subtle causes of pernicious concurrency bugs. Static techniques for preventing data races are overly conservative and do not scale well to large programs. Past research has produced several dynamic data race detectors that can be applied to large programs. They are precise in the sense that they only report actual data races. However, dynamic data race detectors incur a high performance overhead, slowing down a program's execution by an order of magnitude.

In this paper we present LiteRace, a very lightweight data race detector that samples and analyzes only selected portions of a program's execution. We show that it is possible to sample a multithreaded program at a low frequency, and yet, find infrequently occurring data races. We implemented LiteRace using Microsoft's Phoenix compiler. Our experiments with several Microsoft programs, Apache, and Firefox show that LiteRace is able to find more than 70% of data races by sampling less than 2% of memory accesses in a given program execution.


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
2
3
4
5
6
7
8
9
 
10
11
12
13
14
15
16
17
18
19
20
21
 
22
Generic concurrent lock-free linked list -- http://www.cs.rpi.edu/ bushl2/project web/page5.html.
23
 
24
Microsoft. Phoenix compiler. http://research.microsoft.com/Phoenix/.
 
25
Microsoft. Thread execution blocks. http://msdn.microsoft.com/en-us/library/ms686708.aspx.
26
27
28
 
29
30
31
32
33
34
 
35
M. Ronsse and K. de Bosschere. Non-intrusive on-the-fly data race detection using execution replay. In Proceedings of Automated and Algorithmic Debugging, Nov 2000.
36
37
38
39
 
40
N. Sterling. WARLOCK -- a static data race analysis tool. In Proceedings of the USENIX Winter Technical Conference, pages 97--106, 1993.
41
42
43

Collaborative Colleagues:
Daniel Marino: colleagues
Madanlal Musuvathi: colleagues
Satish Narayanasamy: colleagues