An OpenMP Analyzer for Detecting Concurrency Errors
Hongyi Ma, Qichang Chen, Liqiang Wang, Chunhua Liao, Daniel J. Quinlan · 2012
As one of the popularparallel programming interfaces, OpenMP has been widely used in many scientific applications in order to facilitate shared-memory parallelism. With the increasing popularity of multi-core machines, more and more sequential programs are being parallelized using OpenMP. However, it is not easy for programmers to write parallel programs correctly. Concurrency errors, such as data races and deadlocks. This paper presents a novel technique to detect data races and deadlocks using hybrid program analysis. Previous work [2] has shown the symbolic execution on GPU program, our tool exploits SMT solver to detect errors in OpenMP program.