Eraser
- 1 November 1997
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 15 (4) , 391-411
- https://doi.org/10.1145/265924.265927
Abstract
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-monory 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.Keywords
This publication has 6 references indexed in Scilit:
- Online data-race detection via coherency guaranteesPublished by Association for Computing Machinery (ACM) ,1996
- Interrupts as threadsACM SIGOPS Operating Systems Review, 1995
- ATOMPublished by Association for Computing Machinery (ACM) ,1994
- Experience with processes and monitors in MesaCommunications of the ACM, 1980
- Time, clocks, and the ordering of events in a distributed systemCommunications of the ACM, 1978
- MonitorsCommunications of the ACM, 1974