Skip to content

Latest commit

 

History

History
 
 

deepsmith

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.

Getting Started

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.

Resources

Publication "Compiler Fuzzing through Deep Learning" (ISSTA'18).

License

Copyright 2017-2020 Chris Cummins [email protected].

Released under the terms of the GPLv3 license. See LICENSE for details.