clsmith tool converted to CK format
C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.cm
dataset
experiment.view
module
program.static.features
program
script
.ckr.json
.gitignore
CHANGES
README.md

README.md

CK repository: Converting CLsmith tool (PLDI'15 artifact) to CK format

Status

This is a relatively stable repository demonstrating how to share artifacts (tools and datasets) via CK. We converted CLsmith tool for fuzz testing of OpenCL compilers into the CK format.

Prerequisites

Description

CLsmith is a tool designed to address the compiler correctness problem for many-core systems through novel applications of fuzz testing to OpenCL compilers. It was shared as artifact along with the following PLDI'15 paper:

http://multicore.doc.ic.ac.uk/publications/clsmith-pldi-15.html

"Many-Core Compiler Fuzzing" Christopher Lidbury, Andrei Lascu, Nathan Chong, Alastair F. Donaldson

We converted this artifact to CK format (finer-grain and reusable components), shared it as standard CK repository on GitHub and validated it via experiment crowdsourcing on several machines.

CLsmith converted to CK can also serve as a template to describe and share other artifacts in CK format along with publications:

This repository also serves as an SDK to let you implement high-level scenarios to detect and classify bugs, and to enable further research opportunities by analyzing collected knowledge.

Quick installation

$ sudo pip install ck
$ ck pull repo:ck-clsmith

Usage

We provided a very basic usage scenario to compile multiple OpenCL kernels, run them, detect if there is a bug, and record raw info in the public CK repos. This scenario is described in the CK documentation here.

You can see raw local results via CK dashboard:

 $ ck dashboard opencl-bug

Crowd-results

You can see failed OpenCL kernels in the live CK repository. Simply select "crowd-test OpenCL compilers" scenario!

Publications

Testimonials and awards