Proceedings ArticleDOI
Eraser: a dynamic data race detector for multi-threaded programs
Stefan Savage,Michael Burrows,Greg Nelson,Patrick G. Sobalvarro,Thomas Anderson +4 more
- Vol. 31, Iss: 5, pp 27-37
Reads0
Chats0
TLDR
Eraser as mentioned in this paper uses binary rewriting techniques to monitor every shared memory reference and verify that consistent locking behavior is observed in lock-based multi-threaded programs, which can be used to detect data races.Abstract:
Multi-threaded 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 paper describes a new tool, called Eraser, for dynamically detecting data races in lock-based multi-threaded 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 multi-threaded Web search engine, that demonstrate the effectiveness of this approach.read more
Citations
More filters
DynaMine: finding common error patterns by mining software revision histories
TL;DR: The combination of revision history mining and dynamic analysis techniques leveraged in DynaMine proves effective for both discovering new application-specific patterns and for finding errors when applied to very large applications with many man-years of development and debugging effort behind them.
Proceedings ArticleDOI
Ambient wood: designing new forms of digital augmentation for learning outdoors
Yvonne Rogers,Sara Price,Geraldine Fitzpatrick,Rowanne Fleck,Eric Harris,Hilary Smith,Cliff Randell,Henk Muller,Claire O'Malley,Danae Stanton,Mark Thompson,Mark J. Weal +11 more
TL;DR: An outdoors learning experience is designed, aimed at encouraging students to carry out contextualized scientific enquiry and to reflect on their interactions, with a framework of the different forms of digital augmentation and the different processes by which they can be accessed.
Proceedings ArticleDOI
Object race detection
TL;DR: An on-the-fly mechanism that detects access conflicts in executions of multi-threaded Java programs and reduces the runtime overhead of detecting access conflicts to about 16-129% in time and less than 25% in space.
Proceedings ArticleDOI
From symptom to cause: localizing errors in counterexample traces
TL;DR: An algorithm is presented that exploits the existence of correct traces in order to localize the error cause in an error trace, report a single error trace per error cause, and generate multiple error traces having independent causes.
Journal ArticleDOI
RecPlay: a fully integrated practical record/replay system
Michiel Ronsse,Koen De Bosschere +1 more
TL;DR: An implementation of the tools needed to support RecPlay, a combination of record/replay with automatic on-the-fly data race detection, which enables to limit the record phase to the more efficient recording of the synchronization operations, while deferring the time-consuming dataRace detection to the replay phase.
References
More filters
Book ChapterDOI
Time, clocks, and the ordering of events in a distributed system
TL;DR: In this paper, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Journal ArticleDOI
Time, clocks, and the ordering of events in a distributed system
TL;DR: In this article, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Journal ArticleDOI
Monitors: an operating system structuring concept
TL;DR: In this paper, the authors develop Brinch-Hansen's concept of a monitor as a method of structuring an operating system and describe a possible method of implementation in terms of semaphores and give a suitable proof rule.
Proceedings ArticleDOI
Extensibility safety and performance in the SPIN operating system
Brian N. Bershad,Stefan Savage,Przemysław Pardyak,Emin Gün Sirer,Marc E. Fiuczynski,David Becker,Craig Chambers,Susan J. Eggers +7 more
TL;DR: This paper describes the motivation, architecture and performance of SPIN, an extensible operating system that provides an extension infrastructure together with a core set of extensible services that allow applications to safely change the operating system's interface and implementation.
Proceedings ArticleDOI
ATOM: a system for building customized program analysis tools
Amitabh Srivastava,Alan Eustace +1 more
TL;DR: ATOM as mentioned in this paper is a single framework for building a wide range of customized program analysis tools, including block counting, profiling, dynamic memory recording, instruction and data cache simulation, pipeline simulation, evaluating branch prediction, and instruction scheduling.