Testing the Unknown: A Framework for OpenMP Testing via Random Program Generation
Ignacio Laguna, Patrick Chapman, Konstantinos Parasyris, Giorgis, Georgakoudis, Cindy Rubio-Gonz\'alez

TL;DR
This paper introduces a randomized differential testing framework for OpenMP implementations, generating thousands of tests to uncover performance and correctness issues across multiple compilers.
Contribution
It extends the Varity program generator to produce a large variety of OpenMP tests using a grammar-based approach, enabling comprehensive testing beyond manual test creation.
Findings
Discovered multiple performance anomalies in GCC, Clang, and Intel OpenMP implementations.
Identified correctness issues through extensive randomized testing.
Provided detailed analysis of test classes and anomalies.
Abstract
We present a randomized differential testing approach to test OpenMP implementations. In contrast to previous work that manually creates dozens of verification and validation tests, our approach is able to randomly generate thousands of tests, exposing OpenMP implementations to a wide range of program behaviors. We represent the space of possible random OpenMP tests using a grammar and implement our method as an extension of the Varity program generator. By generating 1,800 OpenMP tests, we find various performance anomalies and correctness issues when we apply it to three OpenMP implementations: GCC, Clang, and Intel. We also present several case studies that analyze the anomalies and give more details about the classes of tests that our approach creates.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
