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
Proceedings ArticleDOI
Parallel dynamic analysis on multicores with aspect-oriented programming
TL;DR: An enhanced AOP programming model and framework based on AspectJ is presented, which ease the use of buffered advice and support pluggable, custom buffer processing strategies.
Proceedings ArticleDOI
Coverage-driven test code generation for concurrent classes
TL;DR: This paper presents AutoConTest, a coverage-driven approach to generate effective concurrent test code that achieve high interleaving coverage and exposes concurrency faults quickly.
Proceedings ArticleDOI
Composition of dynamic analysis aspects
TL;DR: This paper explores the practical and efficient integration of execution levels in a mainstream aspect language, AspectJ, and reports on a case study of composing two out-of-the-box analysis aspects in a variety of ways, highlighting the benefits of the approach.
Journal ArticleDOI
What happens-after the first race? enhancing the predictive power of happens-before based dynamic race detection
TL;DR: In this paper, a schedulable happens-before (SHB) partial order is proposed for dynamic race detection, where every pair of conflicting data accesses that are identified by SHB can be scheduled.
Journal ArticleDOI
Finding concurrency-related bugs using random isolation
TL;DR: This work presents the random-isolation abstraction as a new principle for enabling strong updates of special abstract objects, and implemented the random isolation abstraction in a tool called Empire, which verifies atomic-set serializability of concurrent Java programs.
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.