Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
cli
datastores
difftests
generators
harnesses
proto
tests/data/datastores
BUILD
LICENSE
README.md
client.py
conftest.py
datastore.py
db.py
db_test.py
generator.py
generator_test.py
harness.py
harness_test.py
profiling_event.py
result.py
result_test.py
services.py
testbed.py
testbed_test.py
testcase.py
testcase_test.py
toolchain.py

README.md

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, 2018 Chris Cummins chrisc.101@gmail.com.

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

You can’t perform that action at this time.