A probe effect in concurrent programs
Software—Practice & Experience
Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
Race Frontier: reproducing data races in parallel-program debugging
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Optimal tracing and replay for debugging shared-memory parallel programs
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
Eraser: a dynamic data race detector for multithreaded programs
ACM Transactions on Computer Systems (TOCS)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Detecting Race Conditions in Parallel Programs that Use One Semaphore
WADS '93 Proceedings of the Third Workshop on Algorithms and Data Structures
Clock Snooping and its Application in on-the-fly Data Race Detection
ISPAN '97 Proceedings of the 1997 International Symposium on Parallel Architectures, Algorithms and Networks
TRaDe, a topological approach to on-the-fly race detection in java programs
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
Debugging GPU stream programs through automatic dataflow recording and visualization
ACM SIGGRAPH Asia 2009 papers
Hi-index | 0.00 |
This paper presents a debugging aid for parallel program developers. The tool presented enables programmers to use cyclic debugging techniques for debugging non-deterministic parallel programs running on multiprocessor systems with shared memory. The solution proposed consists of a combination of record/replay with automatic on-the-fly data race detection. This combination enables us to limit the record phase to the more efficient recording of the synchronization operations, and checking for data races (using intrusive methods) during a replayed execution. As the record phase is highly efficient, there is no need to switch it off, hereby eliminating the possibility of Heisenbugs because tracing can be left on all the time.