Symbolic consistency checking of openMP parallel programs

4Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

We present a symbolic approach for checking consistency of OpenMP parallel programs. A parallel program is consistent if it yields the same result as its sequential version despite the execution order among threads. We find race conditions of an OpenMP parallel program, construct the formal model of its raced segments under relaxed memory models, and perform guided symbolic simulation to search consistency violations. The simulation terminates when (1) a witness has been found (the program is inconsistent), or (2) all reachable states have been explored (the program is consistent). We have developed the tool Pathg by incorporating Omega library to solve race constraints and Red symbolic simulator to perform guided search. We show that Pathg can prove consistency of programs, identify races that modern OpenMP checkers failed to report, and find inconsistency witnesses effectively against benchmarks from the OpenMP Source Code Repository and the NAS Parallel benchmark suite. Copyright © 2012 ACM.

Cite

CITATION STYLE

APA

Yu, F., Yang, S. C., Wang, F., Chen, G. C., & Chan, C. C. (2012). Symbolic consistency checking of openMP parallel programs. In ACM SIGPLAN Notices (Vol. 47, pp. 139–148). https://doi.org/10.1145/2345141.2248438

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free