Many-core compiler fuzzing
File(s)PLDI_Fuzzing.pdf (354.56 KB)
Accepted version
Author(s)
Lidbury, C
Lascu, A
Chong, N
Donaldson, AF
Type
Conference Paper
Abstract
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.
Date Issued
2015-06-03
Date Acceptance
2015-06-01
Citation
ACM Sigplan Notices, 2015, 50 (6), pp.65-76
ISSN
1523-2867
Publisher
Association for Computing Machinery (ACM)
Start Page
65
End Page
76
Journal / Book Title
ACM Sigplan Notices
Volume
50
Issue
6
Copyright Statement
© ACM, 2015. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Sigplan Notices, {VOL# 50, ISS# 6, (3 June 2015)} https://dx.doi.org/10.1145/2737924.2737986
Sponsor
Commission of the European Communities
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (EPSRC)
Grant Number
287767
EP/K011499/1
EP/K503733/1
EP/I006761/1
Source
36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015)
Subjects
Science & Technology
Technology
Computer Science, Software Engineering
Computer Science
Compilers
OpenCL
GPUs
random testing
metamorphic testing
concurrency
SOUND
BUGS
Publication Status
Published
Start Date
2015-06-13
Finish Date
2015-06-17
Coverage Spatial
Portland, OR, USA