Eraser: A dynamic data race detector for multithreaded programs

被引:0
|
作者
Savage, S
Burrows, M
Nelson, G
Sobalvarro, P
Anderson, T
机构
[1] Univ Washington, Dept Comp Sci & Engn, Seattle, WA 98195 USA
[2] Digital Equipment Corp, Syst Res Ctr, Palo Alto, CA 94301 USA
[3] Univ Calif Berkeley, Berkeley, CA 94720 USA
来源
ACM TRANSACTIONS ON COMPUTER SYSTEMS | 1997年 / 15卷 / 04期
关键词
binary code modification; multithreaded programming; race detection;
D O I
10.1145/265924.265927
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Multithreaded programming is difficult and error prone. It is easy to make a mistake in synchronization that produces a data race, yet it can be extremely hard to locate this mistake during debugging. This article describes a new tool, called Eraser, for dynamically detecting data races in lock-based multithreaded programs. Eraser uses binary rewriting techniques to monitor every shared-memory reference and verify that consistent locking behavior is observed. We present several case studies, including undergraduate coursework and a multithreaded Web search engine, that demonstrate the effectiveness of this approach.
引用
收藏
页码:391 / 411
页数:21
相关论文
共 50 条
  • [1] 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
  • [2] BlockRace: A Big Data Approach to Dynamic Block-based Data Race Detection for Multithreaded Programs
    Mei, Xiupei
    Wei, Zhengyuan
    Zhang, Hao
    Chan, W. K.
    [J]. 2020 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST, AST, 2020, : 71 - 80
  • [3] Efficient on-the-fly data race detection in multithreaded C++ programs
    Pozniansky, E
    Schuster, A
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (10) : 178 - 189
  • [4] Random forest instruction level detection model for data race in multithreaded programs
    Sun, Jiaze
    Yang, Jiawei
    Yang, Zijiang
    [J]. Qinghua Daxue Xuebao/Journal of Tsinghua University, 2020, 60 (10): : 804 - 813
  • [5] A dynamic predictive race detector for C/C++ programs
    Peng Luo
    Deqing Zou
    Hai Jin
    Yajuan Du
    Jinan Shen
    [J]. The Journal of Supercomputing, 2017, 73 : 3999 - 4019
  • [6] MultiRace: efficient on-the-fly data race detection in multithreaded C++ programs
    Pozniansky, Eli
    Schuster, Assaf
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2007, 19 (03): : 327 - 340
  • [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] Atomizer: A dynamic atomicity checker for multithreaded programs
    Flanagan, C
    Freund, SN
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (01) : 256 - 267
  • [9] SingleTrack: A Dynamic Determinism Checker for Multithreaded Programs
    Sadowski, Caitlin
    Freund, Stephen N.
    Flanagan, Cormac
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2009, 5502 : 394 - +
  • [10] A dynamic predictive race detector for C/C plus plus programs
    Luo, Peng
    Zou, Deqing
    Jin, Hai
    Du, Yajuan
    Shen, Jinan
    [J]. JOURNAL OF SUPERCOMPUTING, 2017, 73 (09): : 3999 - 4019