What are race conditions?: Some issues and formalizations
ACM Letters on Programming Languages and Systems (LOPLAS)
Optimal tracing and replay for debugging shared-memory parallel programs
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
Debugging with the MAD environment
Parallel Computing - Special double issue on environment and tools for parallel scientific computing
Parallel programming in OpenMP
Parallel programming in OpenMP
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
The Design of the General Parallel Monitoring System
Proceedings of the IFIP WG 10.3 Workshop on Programming Environments for Parallel Computing
Scalable Parallel Program Debugging with Process Isolation and Grouping
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Notes on Nondeterminism in Message Passing Programs
Proceedings of the 9th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Hi-index | 0.00 |
Debugging nondeterministic parallel programs is accepted as one of the harder problems of software engineering. One source of nondeterminsm are semaphores used to establish and control critical sections. As some threads compete for a semaphore, the point of time by which a specific thread locks a specific semaphore is not determined and may change during subsequent executions. A technique for debugging programs containing such race conditions is event manipulation, which allows the user to investigate the effects of different ordering in accesses to semaphores during subsequent re-executions. This allows to detect hidden errors, that may otherwise occur only sporadically. The technique described in this paper targets at OpenMP programs, and is therefore the first approach to perform event manipulation on shared memory applications.