FastTrack: Efficient and Precise Dynamic Race Detection

被引:97
|
作者
Flanagan, Cormac [1 ]
Freund, Stephen N. [2 ]
机构
[1] Univ Calif Santa Cruz, Dept Comp Sci, Santa Cruz, CA 95064 USA
[2] Williams Coll, Dept Comp Sci, Williamstown, MA 01267 USA
关键词
Languages; Algorithms; Verification; Race conditions; concurrency; dynamic analysis;
D O I
10.1145/1543135.1542490
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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
相关论文
共 50 条
  • [1] FastTrack: Efficient and Precise Dynamic Race Detection
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. PLDI'09 PROCEEDINGS OF THE 2009 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2009, : 121 - 133
  • [2] FastTrack: Efficient and Precise Dynamic Race Detection
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. COMMUNICATIONS OF THE ACM, 2010, 53 (11) : 93 - 101
  • [3] Array Shadow State Compression for Precise Dynamic Race Detection
    Wilcox, James R.
    Finch, Parker
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. 2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2015, : 155 - 165
  • [4] When threads meet events: Efficient and precise static race detection with origins
    Liu, Bozhen
    Liu, Peiming
    Li, Yanze
    Tsai, Chia-Che
    Da Silva, Dilma
    Huang, Jeff
    [J]. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2021, : 725 - 739
  • [5] When Threads Meet Events: Efficient and Precise Static Race Detection with Origins
    Liu, Bozhen
    Liu, Peiming
    Li, Yanze
    Tsai, Chia-Che
    Da Silva, Dilma
    Huang, Jeff
    [J]. PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 725 - 739
  • [6] An efficient sequential consistency implementation with dynamic race detection for GPUs
    Tabbakh, Abdulaziz
    Annavaram, Murali
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2024, 187
  • [7] Efficient Data-Race Detection with Dynamic Symbolic Execution
    Ibing, Andreas
    [J]. PROCEEDINGS OF THE 2016 FEDERATED CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SYSTEMS (FEDCSIS), 2016, 8 : 1719 - 1726
  • [8] An Efficient and Accurate Mixed Dynamic Data Race Detection Method
    Sun, Jiaze
    Yang, Yanman
    Shu, Xinfeng
    [J]. ACM International Conference Proceeding Series, 2021, : 531 - 535
  • [9] RangeLocker: Adaptive Range-Sensitive Lockset Analysis for Precise Dynamic Race Detection
    Arahori, Yoshitaka
    [J]. 201919TH IEEE INTERNATIONAL SYMPOSIUM ON HIGH ASSURANCE SYSTEMS ENGINEERING (HASE 2019), 2019, : 184 - 191
  • [10] Efficient Race Detection with Futures
    Utterback, Robert
    Agrawal, Kunal
    Fineman, Jeremy
    Lee, I-Ting Angelina
    [J]. PROCEEDINGS OF THE 24TH SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING (PPOPP '19), 2019, : 340 - 354