ACM Home Page
Please provide us with feedback. Feedback
FastTrack: efficient and precise dynamic race detection
Full text PdfPdf (584 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 121-133  
Year of Publication: 2009
ISBN:978-1-60558-392-1
Also published in ...
Authors
Cormac Flanagan  University of California at Santa Cruz, Santa Cruz, CA, USA
Stephen N. Freund  Williams College, WIlliamstown, MA, 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): 63,   Downloads (12 Months): 169,   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.1542490
What is a DOI?

ABSTRACT

\begin{abstract}

Multithreaded programs are notoriously prone to race conditions. Prior work on dynamic race detectors includes fast but imprecise race detectors that report false alarms, as well as slow but precise race detectors that never report false alarms. The latter typically use expensive vector clock operations that require time linear in the number of program threads.

This paper exploits the insight that the full generality of vector clocks is unnecessary in most cases. That is, we can replace heavyweight vector clocks with an adaptive lightweight representation that, for almost all operations of the target program, requires only constant space and supports constant-time operations. This representation change significantly improves time and space performance, with no loss in precision.

Experimental results on Java benchmarks including the Eclipse development environment show that our FastTrack race detector is an order of magnitude faster than a traditional vector-clock race detector, and roughly twice as fast as the high-performance DJIT+ algorithm. FastTrack is even comparable in speed to Eraser on our Java benchmarks, while never reporting false alarms.


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
R. Agarwal and S. D. Stoller. Type inference for parameterized race-free Java. In VMCAI, pages 149--160, 2004.
4
5
 
6
CERN. Colt 1.2.0. Available at http://dsd.lbl.gov/~hoschek/colt/, 2007.
 
7
8
9
 
10
 
11
 
12
 
13
The Eclipse programming environment, version 3.4.0. Available at \texttthttp://www.eclipse.org, 2009.
14
15
 
16
17
 
18
E. Fleury and G. Sutre. Raja, version 0.4.0-pre4. Available at http://raja.sourceforge.net/, 2007.
19
 
20
Java Grande Forum. Java Grande benchmark suite. Available at http://www.javagrande.org/, 2008.
21
22
 
23
F. Mattern. Virtual time and global states of distributed systems. In Workshop on Parallel and Distributed Algorithms, 1988.
24
 
25
M. Musuvathi, S. Qadeer, T. Ball, G. Basler, P. A. Nainar, and I. Neamtiu. Finding and reproducing heisenbugs in concurrent programs. In OSDI, 2008.
26
 
27
28
29
 
30
31
 
32
33
34
 
35
Standard Performance Evaluation Corporation. SPEC benchmarks. http://www.spec.org/, 2003.
 
36
N. Sterling. Warlock: A static data race analysis tool. In USENIX Winter Technical Conference, pages 97--106, 1993.
 
37
Sun Microsystems. The java.util.concurrent package. Available at http://java.sun.com/javase/6/docs/api/, 2008.
38
39
40
41
42

Collaborative Colleagues:
Cormac Flanagan: colleagues
Stephen N. Freund: colleagues