Dynamic Race Detection with O(1) Samples

被引:3
|
作者
Al Thokair, Mosaad [1 ]
Zhang, Minjian [1 ]
Mathur, Umang [2 ]
Viswanathan, Mahesh [1 ]
机构
[1] Univ Illinois, Urbana, IL 61801 USA
[2] Natl Univ Singapore, Singapore, Singapore
关键词
Concurrency; Shared memory; Dynamic program analysis; Property testing; Happens-before race detection; SOUND; SOFTWARE; TIME;
D O I
10.1145/3571238
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Happens before-based dynamic analysis is the go-to technique for detecting data races in large scale software projects due to the absence of false positive reports. However, such analyses are expensive since they employ expensive vector clock updates at each event, rendering them usable only for in-house testing. In this paper, we present a sampling-based, randomized race detector that processes only constantly many events of the input trace even in the worst case. This is the first sub-linear time (i.e., running in o (n) time where = is the length of the trace) dynamic race detection algorithm; previous sampling based approaches like Pacer run in linear time (i.e., o (n)). Our algorithm is a property tester for HB-race detection - it is sound in that it never reports any false positive, and on traces that are far, with respect to hamming distance, from any race-free trace, the algorithm detects an HB-race with high probability. Our experimental evaluation of the algorithm and its comparison with state-of-the-art deterministic and sampling based race detectors shows that the algorithm does indeed have significantly low running time, and detects races quite often.
引用
收藏
页码:1308 / 1337
页数:30
相关论文
共 50 条
  • [1] Verifying Dynamic Race Detection
    Mansky, William
    Peng, Yuanfeng
    Zdancewic, Steve
    Devietti, Joseph
    [J]. PROCEEDINGS OF THE 6TH ACM SIGPLAN CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, CPP'17, 2017, : 151 - 163
  • [2] Hybrid dynamic data race detection
    O'Callahan, R
    Choi, JD
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (10) : 166 - 177
  • [3] 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
  • [4] 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
  • [5] FastTrack: Efficient and Precise Dynamic Race Detection
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (06) : 121 - 133
  • [6] Dynamic Race Detection for C++11
    Lidbury, Christopher
    Donaldson, Alastair F.
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (01) : 443 - 457
  • [7] 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,
  • [8] FastTrack: Efficient and Precise Dynamic Race Detection
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. COMMUNICATIONS OF THE ACM, 2010, 53 (11) : 93 - 101
  • [9] Hybrid Dynamic Data Race Detection in SystemC
    Sen, Alper
    Kalaci, Onder
    [J]. PROCEEDINGS OF THE 2014 FORUM ON SPECIFICATION & DESIGN LANGUAGES (FDL), 2014,
  • [10] 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