Artifact of GrayC: Greybox Fuzzing of Compilers and Analysers for C
Authors/Creators
- 1. King's College London
- 2. Imperial College London
Contributors
Researcher (4):
- 1. King's College London
- 2. Imperial College London
Description
This is the official artifact of the paper: GrayC: Greybox Fuzzing of Compilers and Analysers for C (ISSTA 2023).
=======> DOWNLOAD THE ARTIFACT IN THE DOCKER IMAGE TO START <=======
The main GitHub Repository is: https://github.com/srg-imperial/GrayC/tree/main/ISSTA-2023-AE.
All Docker images versions and data are here: Artifact-GrayC and the last DOCKER IMAGE IS THIS: GrayC-v3.tar
Data Availability: the other files contain data and all our source code as part of the Open Science Policy.
Note 1: This work was supported by EPSRC (EP/R011605/1 and EP/R006865/1).
Note 2: The first two authors both contributed equally to this research.
Note 3: Karine Even-Mendoza: A major part of this work was done as an Imperial College London employee.
Note 4: Please ignore all other anonymised versions of GrayC and use only this de-anonymised one.
Troubleshooting (Updated March 2025)
A. Install missing packages:
sudo apt-get install libtinfo-dev
sudo apt-get install libbsd-dev
B. Fix broken script: install-fuzzers-grayc.sh, by changing AE to fuzzing (there is only one place of /AE/ path).
C. LLVM-12 is now part of apt, so you need to run this:
sudo apt install clang-12 lld-12 llvm-12 llvm-12-dev
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 120 --slave /usr/bin/clang++ clag++ /usr/bin/clang++-12
### Full Installation Testing on Cloudlab m510 (last updated 13-Jun-2025)
sudo useradd user42 sudo passwd user42 sudo usermod -aG sudo user42 sudo mkdir -p /home/user42 sudo usermod -d /home/user42 user42 sudo chmod 755 /home/user42 sudo apt-get install software-properties-common sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install libtinfo-dev sudo apt-get install libbsd-dev sudo apt install clang-12 lld-12 llvm-12 llvm-12-dev sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 120 --slave /usr/bin/clang++ clag++ /usr/bin/clang++-12
git clone https://github.com/srg-imperial/GrayC.git cd GrayC/ git checkout 916455f cd ISSTA-2023-AE/fuzzer
Fix broken script: install-fuzzers-grayc.sh, by changing AE to fuzzing (there is only one place of /AE/ path).
Then run:
./1-download-llvm.sh /home/user42/ 12
./install-fuzzers-grayc.sh /home/user42/ /home/user42/<SOURCE-FOLDER> /home/user42/GrayC/ISSTA-2023-AE 1
with some detailed instructions here: https://github.com/srg-imperial/GrayC/tree/issta-2023/ISSTA-2023-AE/fuzzer.
Then to run the fuzzer, you run:
user42@node0:~/GrayC/ISSTA-2023-AE/fuzzer$ ./run-fuzzers.sh /home/user42/ /home/user42/GrayC/ISSTA-2023-AE/fuzzer/seeds/ 1
Technical info
GitHub Repository of GrayC: https://github.com/srg-imperial/GrayC/tree/main/ISSTA-2023-AE.Files
0_README_main.md
Files
(12.0 GB)
| Name | Size | |
|---|---|---|
|
md5:fcf0892c7fe6e612ee9b34725d6cf009
|
23.9 kB | Preview Download |
|
md5:0df929dab2373aba8df13e91a6327703
|
318.9 MB | Preview Download |
|
md5:a606c61d10656938331433536919697d
|
6.7 GB | Preview Download |
|
md5:fc299211fddf0898e53ba60b82aeaad2
|
485.9 MB | Preview Download |
|
md5:14f3741bf918294ada0e8f81dd377112
|
1.0 GB | Preview Download |
|
md5:98546ff9bc2140210dbe84b890bf1ad4
|
1.7 GB | Preview Download |
|
md5:9f1a4a06ad495b1d2ed1c6257342e24c
|
1.2 GB | Preview Download |
|
md5:2a92a69b12fea7d068a3995b01555128
|
67.0 MB | Preview Download |
|
md5:83f9ae92cfe0334b757d222b740fa8ed
|
214.6 MB | Preview Download |
|
md5:c8adcb69d39df1941a80dd4bb914c214
|
115.1 kB | Download |
|
md5:df35aa57f1b2c8dcb602dddb08b2a4c9
|
37.3 MB | Preview Download |
|
md5:92d58e6d04ae891c9c341a1fc17cd0e4
|
195.7 MB | Preview Download |
|
md5:f4bb1d5feb5ca49d464ab5c0dd1a51b2
|
62.7 kB | Download |
Additional details
Related works
- Has part
- Conference paper: 10.1145/3597926.3598130 (DOI)
- Software: https://zenodo.org/record/7977197 (URL)
- Software: https://github.com/srg-imperial/GrayC (URL)
Funding
- UK Research and Innovation
- Automatically Detecting and Surviving Exploitable Compiler Bugs EP/R011605/1
- UK Research and Innovation
- Interface reasoning for interacting systems (IRIS). EP/R006865/1