Overview
Cascade: CPU Fuzzing via Intricate Program Generation is a paper by Flavien Solt, Katharina Ceesay-Seitz, and Kaveh Razavi. It was published in August 2024 at the 33rd USENIX Security Symposium (USENIX Security 24). [C1][C2]
Publication metadata
USENIX lists the paper in the proceedings of the symposium, published by the USENIX Association, with pages 5341--5358 and conference location Philadelphia, PA. BibBase also lists a paper PDF and a project URL for Cascade. [C2][C3]
Artifact and reproducibility
The public repository comsec-group/cascade-artifacts is explicitly marked as the artifact for this paper. Its README says the repository helps reproduce the paper's results and get started with Cascade, and it points to cascade-meta as the location of most of the fuzzing code. [C4]
The artifact README recommends using the Docker image docker.io/ethcomsec/cascade-artifacts. It states that all experiments except the Questasim experiment run inside a Docker container. The Questasim experiment is optional, is only used to compare simulator coverage of Cascade and TheHuzz, and requires access to Questasim, which the README describes as a commercial RTL simulator. The README also notes that some experiments require 64 cores, although it says running with fewer cores is not expected to make a big difference in the results. [C5]
For the experiment tied to Figure 16, the artifact container uses 30 seconds per point so the run can finish in reasonable time, while the value used in the paper is 1200 seconds per point and may take multiple days on a 64-core machine. The README says the shorter timeout is still sufficient to support the paper's claim that longer programs tend to be more efficient at finding bugs. It also notes that rebuilding the Docker image from scratch with make build takes many hours. [C6]
The README includes a Verilator troubleshooting note: if the warning Unknown warning specified: -Wno-EOFNEWLINE appears, it recommends reinstalling Verilator and checking out version v5.006. Except for the Questasim experiment, generated plots are stored under /cascade-meta/figures inside the Docker container. [C7]