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 条
  • [21] Velodrome: A sound and complete dynamic atomicity checker for multithreaded programs
    Flanagan, Cormac
    Freund, Stephen N.
    Yi, Jaeheon
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (06) : 293 - 303
  • [22] Static Data Race Detection for Java Programs With Dynamic Class Loading
    Yoshiura, Noriaki
    Wei, Wei
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8729 : 161 - 173
  • [23] Rchecker: A CBMC-based Data Race Detector for Interrupt-driven Programs
    Feng, Haining
    Yin, Liangze
    Lin, Wenfeng
    Zhao, Xudong
    Dong, Wei
    [J]. COMPANION OF THE 2020 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY (QRS-C 2020), 2020, : 465 - 471
  • [24] Analysis of multithreaded programs
    Rinard, M
    [J]. STATIC ANALYSIS, PROCEEDINGS, 2001, 2126 : 1 - 19
  • [25] Checkpointing multithreaded programs
    Carothers, Christopher D.
    Szymanski, Boleslaw K.
    [J]. Dr. Dobb's Journal, 2002, 27 (08):
  • [26] Adaptive dynamic thread scheduling for simultaneous multithreaded architectures with a detector thread
    Shin, Chulho
    Lee, Seong-Won
    Gaudiot, Jean-Luc
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2006, 66 (10) : 1304 - 1321
  • [27] CURD: A Dynamic CUDA Race Detector
    Peng, Yuanfeng
    Grover, Vinod
    Devietti, Joseph
    [J]. PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 390 - 403
  • [28] CURD: A dynamic CUDA race detector
    Peng, Yuanfeng
    Grover, Vinod
    Devietti, Joseph
    [J]. ACM SIGPLAN Notices, 2018, 53 (04): : 390 - 403
  • [29] CURD: A Dynamic CUDA Race Detector
    Peng, Yuanfeng
    Grover, Vinod
    Devietti, Joseph
    [J]. ACM SIGPLAN NOTICES, 2018, 53 (04) : 390 - 403
  • [30] Context-bounded analysis of multithreaded programs with dynamic linked structures
    Bouajjani, Ahmed
    Fratani, Severine
    Qadeer, Shaz
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2007, 4590 : 207 - +