On-the-fly detection of data races for programs with nested fork-join parallelism
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
OpenMP: An Industry-Standard API for Shared-Memory Programming
IEEE Computational Science & Engineering
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Analyzing Parallel Programs with Pin
Computer
PinPlay: a framework for deterministic replay and reproducible analysis of parallel programs
Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization
On-the-fly detection of data races in OpenMP programs
Proceedings of the 2012 Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Hi-index | 0.00 |
It is important to determine the logical concurrency of OpenMP programs, because it helps detecting data races between two threads in an execution of the program. RaceStand have been developed to detect on-the-fly data races for OpenMP applications. Unfortunately, the previous tool does not detect data races or reports false positives for nested fork-join parallelism which uses function calls for the execution of parallel regions by its defective source code instrumentation. In this paper, we present an instrumentor to determine logical concurrency of parallel threads using a dynamic binary instrumentation technique based on Pin software framework. We implemented a Pin-tool as data race detection tool including our instrumentor, and empirically compared the correctness of the Pin-tool with previous tool using a set of synthetic programs considering nested parallelism and function calls.