Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call