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 条
  • [41] IFRit: Interference-Free Regions for Dynamic Data-Race Detection
    Effinger-Dean, Laura
    Lucia, Brandon
    Ceze, Luis
    Grossman, Dan
    Boehm, Hans-J
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (10) : 467 - 483
  • [42] SLIMFAST: Reducing Metadata Redundancy in Sound and Complete Dynamic Data Race Detection
    Peng, Yuanfeng
    DeLozier, Christian
    Eizenberg, Ariel
    Mansky, William
    Devietti, Joseph
    [J]. 2018 32ND IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2018, : 835 - 844
  • [43] Resettable Encoded Vector Clock for Causality Analysis With an Application to Dynamic Race Detection
    Pozzetti, Tommaso
    Kshemkalyani, Ajay D.
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2021, 32 (04) : 772 - 785
  • [44] A Loop filtering Technique for Reducing Time Overhead of Dynamic Data Race Detection
    Park, Se-Won
    Ha, Ok-Kyoon
    Jun, Yong-Kee
    [J]. 2015 8TH INTERNATIONAL CONFERENCE ON DATABASE THEORY AND APPLICATION (DTA), 2015, : 29 - 32
  • [45] Dynamic Merkle Trees for Verifying Privileges in Sensor Networks
    Zhou, Li
    Ravishankar, Chinya V.
    [J]. 2006 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS, VOLS 1-12, 2006, : 2276 - 2282
  • [46] A Categorical Approach for Modeling and Verifying Dynamic Software Architecture
    Ling, Xiang
    [J]. 2013 IEEE 7TH INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY - COMPANION (SERE-C), 2013, : 169 - 176
  • [47] A framework for verifying Dynamic Probabilistic Risk Assessment models
    Picoco, Claudia
    Rychkov, Valentin
    Aldemir, Tunc
    [J]. RELIABILITY ENGINEERING & SYSTEM SAFETY, 2020, 203
  • [48] Verifying Reachability for TSO Programs with Dynamic Thread Creation
    Abdulla, Parosh Aziz
    Atig, Mohamed Faouzi
    Bouajjani, Ahmed
    Kumar, K. Narayan
    Saivasan, Prakash
    [J]. NETWORKED SYSTEMS, NETYS 2022, 2022, 13464 : 283 - 300
  • [49] A temporal dynamic logic for verifying hybrid system invariants
    Platzer, Andre
    [J]. LOGICAL FOUNDATIONS OF COMPUTER SCIENCE, PROCEEDINGS, 2007, 4514 : 457 - 471
  • [50] Differential dynamic logic for verifying parametric hybrid systems
    Platzer, Andre
    [J]. AUTOMATED REASONING WITH ANALYTIC TABLEAUX AND RELATED METHODS, PROCEEDINGS, 2007, 4548 : 216 - 232