Clock Trees: Logical Clocks for Programs with Nested Parallelism
IEEE Transactions on Software Engineering
RecPlay: a fully integrated practical record/replay system
ACM Transactions on Computer Systems (TOCS)
Non-Intrusive Detection of Synchronization Errors Using Execution Replay
Automated Software Engineering
Space-Efficient First Race Detection in Shared Memory Programs with Nested Parallelism
PARA '02 Proceedings of the 6th International Conference on Applied Parallel Computing Advanced Scientific Computing
OptBPEL: a tool for performance optimization of BPEL process
SC'08 Proceedings of the 7th international conference on Software composition
Hi-index | 0.00 |
A data race or access anomaly is a bug in parallel programs, occurring when two parallel processes access the same shared resource in an unsynchronised fashion, and at least one access modifies the resource. The effects of a data race can be non-deterministic and can give the program debugger a very hard time. Race detection represents a class of methods which automatically detect the presence of data races in a parallel program. This paper deals with on-the-fly methods, in which race detection is performed at run-time, during the execution of the program. We present a novel method for on-the-fly race detection, which reduces the storage requirements by several orders of magnitude over previous methods. Moreover, the method is language independent and can handle the problems associated with pointer variables (aliasing). The programs it deals with are restricted to those that have a series-parallel task graph. This includes fork-join and spawning types of parallelism.