Many-core compiler fuzzing

Many-core compiler fuzzing
复制标题

DOI:
10.1145/2737924.2737986
复制
发表时间:
2015-06
期刊:
Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子:
--
通讯作者:
Christopher Lidbury;Andrei Lascu;Nathan Chong;Alastair F. Donaldson
Christopher Lidbury;Andrei Lascu;Nathan Chong;Alastair F. Donaldson
中科院分区:
其他
文献类型:
--
作者:
Christopher Lidbury;Andrei Lascu;Nathan Chong;Alastair F. Donaldson

文献摘要

被引文献

相似文献

我们通过模糊测试在OpenCL编译器上的新应用来解决多核系统的编译器正确性问题。基于前人的两种方法,随机差分测试和等价模输入测试,我们提出了几种随机生成确定的、可通信的OpenCL内核的策略,并提出了一种注入机制,允许将EMI测试应用于否则显示很少或没有动态死代码的内核。我们使用这些方法对21种OpenCL(设备、编译器)配置进行了大规模的受控测试活动,涵盖了一系列CPU、GPU、加速器、FPGA和仿真器实现。我们的研究独立验证了先前工作中关于随机差异测试和EMI测试有效性的声明,提出了将这些技术提升到多核环境的新方法,并揭示了商业实现中大量的OpenCL编译器错误。
We address the compiler correctness problem for many-core systems through novel applications of fuzz testing to OpenCL compilers. Focusing on two methods from prior work, random differential testing and testing via equivalence modulo inputs (EMI), we present several strategies for random generation of deterministic, communicating OpenCL kernels, and an injection mechanism that allows EMI testing to be applied to kernels that otherwise exhibit little or no dynamically-dead code. We use these methods to conduct a large, controlled testing campaign with respect to 21 OpenCL (device, compiler) configurations, covering a range of CPU, GPU, accelerator, FPGA and emulator implementations. Our study provides independent validation of claims in prior work related to the effectiveness of random differential testing and EMI testing, proposes novel methods for lifting these techniques to the many-core setting and reveals a significant number of OpenCL compiler bugs in commercial implementations.