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 条
  • [21] VERIFIEDFT: A Verified, High-Performance Precise Dynamic Race Detector
    Wilcox, James R.
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. ACM SIGPLAN NOTICES, 2018, 53 (01) : 354 - 367
  • [22] Dynamic Slicing of Multithreaded Programs for Race Detection
    Tallam, Sriraman
    Tian, Chen
    Gupta, Rajiv
    [J]. 2008 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2008, : 97 - 106
  • [23] Dynamic Race Detection with O(1) Samples
    Al Thokair, Mosaad
    Zhang, Minjian
    Mathur, Umang
    Viswanathan, Mahesh
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (POPL): : 1308 - 1337
  • [24] Dynamic Race Detection for C++11
    Lidbury, Christopher
    Donaldson, Alastair F.
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (01) : 443 - 457
  • [25] Dynamic Data Race Detection for OpenMP Programs
    Gu, Yizi
    Mellor-Crummey, John
    [J]. PROCEEDINGS OF THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE, AND ANALYSIS (SC'18), 2018,
  • [26] Hybrid Dynamic Data Race Detection in SystemC
    Sen, Alper
    Kalaci, Onder
    [J]. PROCEEDINGS OF THE 2014 FORUM ON SPECIFICATION & DESIGN LANGUAGES (FDL), 2014,
  • [27] Dynamic Data Race Detection for Correlated Variables
    Jannesari, Ali
    Westphal-Furuya, Markus
    Tichy, Walter F.
    [J]. ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, PT I: ICA3PP 2011, 2011, 7916 : 14 - 26
  • [28] Understanding the Performance of Dynamic Data Race Detection
    Protze, Joachim
    Thaerigen, Isabel
    Wahle, Jonas
    [J]. PROCEEDINGS OF FIFTH INTERNATIONAL WORKSHOP ON SOFTWARE CORRECTNESS FOR HPC APPLICATIONS (CORRECTNESS 2021), 2021, : 33 - 40
  • [29] Scalable and Precise Dynamic Datarace Detection for Structured Parallelism
    Raman, Raghavan
    Zhao, Jisheng
    Sarkar, Vivek
    Vechev, Martin
    Yahav, Eran
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (06) : 531 - 542
  • [30] Precise Dynamic Data Race Prediction for Interrupt-Driven Embedded Software
    Yu, Tingting
    Jia, Chunpeng
    Chen, Rui
    Li, Chao
    Wang, Boxiang
    Jiang, Yunsong
    [J]. 2023 IEEE 34TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS, ISSREW, 2023, : 69 - 74