FastTrack: Efficient and Precise Dynamic Race Detection

被引:254
作者
Flanagan, Cormac [1 ]
Freund, Stephen N. [1 ]
机构
[1] Univ Calif Santa Cruz, Dept Comp Sci, Santa Cruz, CA 95064 USA
来源
PLDI'09 PROCEEDINGS OF THE 2009 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION | 2009年
关键词
Race conditions; concurrency; dynamic analysis;
D O I
10.1145/1542476.1542490
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:121 / 133
页数:13
相关论文
共 42 条
[1]   Types for safe locking: Static race detection for Java']Java [J].
Abadi, M ;
Flanagan, C ;
Freund, SN .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2006, 28 (02) :207-255
[2]  
ADVE SV, 1991, ISCA, P234
[3]  
Agarwal R, 2004, LECT NOTES COMPUT SC, V2937, P149
[4]  
AIKEN A, 1998, P 25 S PRINC PROGR L, P243
[5]  
[Anonymous], [No title captured]
[6]  
[Anonymous], 2007, P THE 6 JOINT M EUR
[7]  
[Anonymous], 1993, P WINT 1993 US C
[8]  
[Anonymous], 2003, TLDI 03 P 2003 ACM S
[9]  
[Anonymous], 2008, OSDI 2008
[10]   A parameterized type system for race-free Java']Java programs [J].
Boyapati, C ;
Rinard, M .
ACM SIGPLAN NOTICES, 2001, 36 (11) :56-69