Correctness Analysis Based on Testing and Checking for OpenMP Programs

Using OpenMP to develop multithreaded programs is very simple and easy. However, wrong execution results occur when directives are not properly used. In this paper, a correctness testing and checking technique based on online-offline mixed mode is proposed. Where, online correctness testing only needs to record the data relative to those parallel regions of which execution results are not correct, and at the same time, it is able to identify all wrong parallel regions through one-parse online correctness testing. Offline correctness testing needn’t record relative data of parallel regions and is able to flexibly test the correctness of parallel regions modified repeatedly. The technique overcomes the shortcomings of the high overheads of the existing correctness tools which can’t repeatedly test the correctness of parallel regions.

[1]  Willy Zwaenepoel,et al.  OpenMP on Networks of Workstations , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[2]  Alejandro Duran,et al.  A Proposal for Error Handling in OpenMP , 2005, International Journal of Parallel Programming.

[3]  Openmp: a Proposed Industry Standard Api for Shared Memory Programming , 2022 .

[4]  Joe Throop OpenMP: Shared-Memory Parallelism From the Ashes , 1999, Computer.

[5]  Claudia Fohry,et al.  Common Mistakes in OpenMP and How to Avoid Them - A Collection of Best Practices , 2005, IWOMP.

[6]  Barbara M. Chapman,et al.  OpenMP and HPF: Integrating Two Paradigms , 1998, Euro-Par.

[7]  Paul Petersen,et al.  OpenMP Support in the Intel® Thread Checker , 2003, WOMPAT.

[8]  Jay Hoeflinger Programming with cluster openMP , 2007, PPOPP.

[9]  Timothy G. Mattson Introduction to OpenMP , 2006, SC.

[10]  Young-Joo Kim,et al.  An Empirical Analysis of Intel Thread Checker for Detecting Races in OpenMP Programs , 2008, Seventh IEEE/ACIS International Conference on Computer and Information Science (icis 2008).

[11]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[12]  Guoliang Chen,et al.  OpenMP on networks of workstations for software DSMs , 2008, Journal of Computer Science and Technology.