DeepSmith: Compiler Fuzzing through Deep Learning
DeepSmith is a novel approach to automate and accelerate compiler validation which takes advantage of state-of-the-art deep learning techniques. It constructs a learned model of the structure of real world code based on a large corpus of example programs. Then, it uses the model to automatically generate tens of thousands of realistic programs. Finally, it applies established differential testing methodologies on them to expose bugs in compilers.
Pull a docker image containing a pre-trained neural network and OpenCL environment for fuzz testing Oclgrind:
$ docker run chriscummins/opencl_fuzz
See //docs/2018_07_issta/artifact_evaluation for the supporting artifact of the original DeepSmith publication.
Publication "Compiler Fuzzing through Deep Learning" (ISSTA'18).
Copyright 2017, 2018 Chris Cummins email@example.com.
Released under the terms of the GPLv3 license. See LICENSE for details.