Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Eraser: A Dynamic Data Race Detector for Multithreaded Programs
 

Summary: Eraser: A Dynamic Data Race Detector for
Multithreaded Programs
STEFAN SAVAGE
University of Washington
MICHAEL BURROWS, GREG NELSON, and PATRICK SOBALVARRO
Digital Equipment Corporation
and
THOMAS ANDERSON
University of California at Berkeley
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 ob-
served. We present several case studies, including undergraduate coursework and a multi-
threaded Web search engine, that demonstrate the effectiveness of this approach.
Categories and Subject Descriptors: D.1.3 [Programming Techniques]: Concurrent Pro-
gramming--parallel programming; D.2.5 [Software Engineering]: Testing and Debugging--
debugging aids; monitors; tracing; D.4.1 [Operating Systems]: Process Management--
concurrency; deadlock; multiprocessing/multiprogramming; mutual exclusion; synchronization

  

Source: Anderson, Richard - Department of Computer Science and Engineering, University of Washington at Seattle
Arpaci-Dusseau, Remzi - Department of Computer Sciences, Department of Computer Sciences, University of Wisconsin at Madison
Qin, Feng - Department of Computer Science and Engineering, Ohio State University
Savage, Stefan - Department of Computer Science and Engineering, University of California at San Diego
Zhang, Xiangyu - Department of Computer Sciences, Purdue University

 

Collections: Computer Technologies and Information Sciences