测试未知:通过随机程序生成的OpenMP测试框架
Testing the Unknown: A Framework for OpenMP Testing via Random Program Generation
AI总结:
提出基于随机差分测试的OpenMP测试框架,通过语法随机生成数千测试并扩展Varity生成器,在GCC、Clang和Intel实现中发现了性能异常与正确性问题。
摘要:
我们提出了一种随机差分测试方法来测试OpenMP实现。与以往手动创建数十个验证和确认测试的工作不同,我们的方法能够随机生成数千个测试,使OpenMP实现暴露于广泛的程序行为中。我们使用语法表示可能的随机OpenMP测试空间,并将该方法实现为Varity程序生成器的扩展。通过生成1,800个OpenMP测试,我们在将其应用于三种OpenMP实现(GCC、Clang和Intel)时发现了各种性能异常和正确性问题。我们还展示了几个分析异常的案例研究,并提供了有关该方法创建的测试类别的更多细节。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。