Verifying Dynamic Race Detection

被引:6
|
作者
Mansky, William [1 ]
Peng, Yuanfeng [2 ]
Zdancewic, Steve [2 ]
Devietti, Joseph [2 ]
机构
[1] Princeton Univ, Princeton, NJ 08544 USA
[2] Univ Penn, Philadelphia, PA 19104 USA
基金
美国国家科学基金会;
关键词
Dynamic Race Detection; Interactive Theorem Proving;
D O I
10.1145/3018610.3018611
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Writing race-free concurrent code is notoriously difficult, and data races can result in bugs that are difficult to isolate and reproduce. Dynamic race detection can catch data races that cannot (easily) be detected statically. One approach to dynamic race detection is to instrument the potentially racy code with operations that store and compare metadata, where the metadata implements some known race detection algorithm (e.g. vector-clock race detection). In this paper, we describe the process of formally verifying several algorithms for dynamic race detection. We then turn to implementations, laying out an instrumentation pass for race detection in a simple language and presenting a mechanized formal proof of its correctness: all races in a program will be caught by the instrumentation, and all races detected by the instrumentation are possible in the original program.
引用
收藏
页码:151 / 163
页数:13
相关论文
共 50 条
  • [1] Hybrid dynamic data race detection
    O'Callahan, R
    Choi, JD
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (10) : 166 - 177
  • [2] 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
  • [3] 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
  • [4] 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
  • [5] FastTrack: Efficient and Precise Dynamic Race Detection
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. COMMUNICATIONS OF THE ACM, 2010, 53 (11) : 93 - 101
  • [6] FastTrack: Efficient and Precise Dynamic Race Detection
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (06) : 121 - 133
  • [7] Dynamic Race Detection for C++11
    Lidbury, Christopher
    Donaldson, Alastair F.
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (01) : 443 - 457
  • [8] 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,
  • [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