作者: Stefan Savage , Michael Burrows , Greg Nelson , Patrick Sobalvarro , Thomas Anderson
关键词:
摘要: 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.