Eraser: a dynamic data race detector for multithreaded programs

作者: Stefan Savage , Michael Burrows , Greg Nelson , Patrick Sobalvarro , Thomas Anderson

DOI: 10.1145/265924.265927

关键词:

摘要: Multithreaded programming is difficult and error prone. It easy to make a mistake in synchronization that produces data race, yet it can be extremely hard locate this during debugging. This article describes new tool, called Eraser, for dynamically detecting races lock-based multithreaded programs. Eraser uses binary rewriting techniques monitor every shared-monory reference verify consistent locking behavior observed. We present several case studies, including undergraduate coursework Web search engine, demonstrate the effectiveness of approach.

参考文章(17)
Robert Harry Benson Netzer, Pace condition detection for debugging shared-memory parallel programs University of Wisconsin at Madison. ,(1992)
John Mellor-Crummey, Compile-time support for efficient data race detection in shared-memory parallel programs Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging - PADD '93. ,vol. 28, pp. 129- 139 ,(1993) , 10.1145/174266.171370
Butler W. Lampson, David D. Redell, Experience with processes and monitors in Mesa Communications of The ACM. ,vol. 23, pp. 105- 117 ,(1980) , 10.1145/358818.358824
Amitabh Srivastava, Alan Eustace, ATOM: a system for building customized program analysis tools programming language design and implementation. ,vol. 39, pp. 196- 205 ,(1994) , 10.1145/178243.178260
Anne Dinning, Edith Schonberg, Detecting access anomalies in programs with critical sections workshop on parallel & distributed debugging. ,vol. 26, pp. 85- 96 ,(1991) , 10.1145/122759.122767
B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. E. Fiuczynski, D. Becker, C. Chambers, S. Eggers, Extensibility safety and performance in the SPIN operating system symposium on operating systems principles. ,vol. 29, pp. 267- 283 ,(1995) , 10.1145/224056.224077
K. R. M. Leino, Extended static checking ifip international conference on programming concepts and methods. pp. 1- 2 ,(1998) , 10.1007/978-0-387-35358-6_1
Steve Kleiman, Joe Eykholt, Interrupts as threads ACM SIGOPS Operating Systems Review. ,vol. 29, pp. 21- 26 ,(1995) , 10.1145/202213.202217
Edward K. Lee, Chandramohan A. Thekkath, Petal Proceedings of the seventh international conference on Architectural support for programming languages and operating systems - ASPLOS-VII. ,vol. 31, pp. 84- 92 ,(1996) , 10.1145/237090.237157