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 条
  • [41] Security of Multithreaded Programs by Compilation
    Barthe, Gilles
    Rezk, Tamara
    Russo, Alejandro
    Sabelfeld, Andrei
    [J]. ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2010, 13 (03)
  • [42] DEBUGGING MULTITHREADED PROGRAMS WITH MPD
    PONAMGI, MK
    HSEUSH, W
    KAISER, GE
    [J]. IEEE SOFTWARE, 1991, 8 (03) : 37 - 43
  • [43] Opportunistic Monitoring of Multithreaded Programs
    Soueidi, Chukri
    El-Hokayem, Antoine
    Falcone, Ylies
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2023, 2023, 13991 : 173 - 194
  • [44] Pointer analysis for multithreaded programs
    Rugina, R
    Rinard, M
    [J]. ACM SIGPLAN NOTICES, 1999, 34 (05) : 77 - 90
  • [45] Dynamic data race detection in Java']Java-programs using synchronization contracts
    Tsitelov, Dmitry
    Trifanov, Vitaly
    [J]. 2013 TOOLS & METHODS OF PROGRAM ANALYSIS (TMPA 2013), 2013, : 3 - 8
  • [46] OMPRacer: A Scalable and Precise Static Race Detector for OpenMP Programs
    Swain, Bradley
    Li, Yanze
    Liu, Peiming
    Laguna, Ignacio
    Georgakoudis, Giorgis
    Huang, Jeff
    [J]. PROCEEDINGS OF SC20: THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS (SC20), 2020,
  • [47] JaDaRD: Java data-race detector
    Voráek, Filip
    Troníek, Zdeňk
    [J]. SPLASH'12 - Proceedings of the 2012 ACM Conference on Systems, Programming, and Applications: Software for Humanity, 2012, : 71 - 72
  • [48] An efficient data race detector backend for DIOTA
    Ronsse, M
    Stougie, B
    Maebe, J
    Cornelis, F
    De Bosschere, K
    [J]. PARALLEL COMPUTING: SOFTWARE TECHNOLOGY, ALGORITHMS, ARCHITECTURES AND APPLICATIONS, 2004, 13 : 39 - 46
  • [49] Using relaxed concurrent data structures for contention minimization in multithreaded MPI programs
    Tabakov, Andrey, V
    Paznikov, Alexey A.
    [J]. INTERNATIONAL SCIENTIFIC CONFERENCE ON APPLIED PHYSICS, INFORMATION TECHNOLOGIES AND ENGINEERING (APITECH-2019), 2019, 1399
  • [50] Visualizing Potential Deadlocks in Multithreaded Programs
    Kim, Byung-Chul
    Jun, Sang-Woo
    Hwang, Dae Joon
    Jun, Yong-Kee
    [J]. PARALLEL COMPUTING TECHNOLOGIES, PROCEEDINGS, 2009, 5698 : 321 - +