A Preprocessor for Detecting Potential Races in Shared Memory Parallel Programs with Internal Nondeterminism 


Vol. 17,  No. 1, pp. 9-18, Feb.  2010
10.3745/KIPSTA.2010.17.1.9


PDF
  Abstract

Races that occur in shared-memory parallel programs such as OpenMP programs must be detected for debugging because of causing unintended non-deterministic results. Previous works which verify the existence of these races on-the-fly are limited to the programs without internal non-determinism. But in the programs with internal non-determinism, such works need at least N! execution instances for each critical section to verify the existence of races, where N is the degree of maximum parallelism. This paper presents a preprocessor that statically analyzes the locations of non-deterministic accesses using program slicing and can detect apparent races as well as potential races through single execution using the analyzed information. The suggested tool can deterministically monitor non-deterministic accesses to occur in OpenMP programs so that this tool can verify the existence of races even if it is used any race detection protocol which can apply to programs with critical section. To prove empirically this tool, we have experimented using a set of benchmark programs such as synthetic programs that involve non-deterministic accesses, OpenMP Microbenchmark, NAS Parallel Benchmark, and OpenMP application programs.

  Statistics


  Cite this article

[IEEE Style]

Y. J. Kim, M. S. Jung, Y. K. Jun, "A Preprocessor for Detecting Potential Races in Shared Memory Parallel Programs with Internal Nondeterminism," The KIPS Transactions:PartA, vol. 17, no. 1, pp. 9-18, 2010. DOI: 10.3745/KIPSTA.2010.17.1.9.

[ACM Style]

Young Joo Kim, Min Sub Jung, and Yong Kee Jun. 2010. A Preprocessor for Detecting Potential Races in Shared Memory Parallel Programs with Internal Nondeterminism. The KIPS Transactions:PartA, 17, 1, (2010), 9-18. DOI: 10.3745/KIPSTA.2010.17.1.9.