Skip to content
STIMSMITH

Spike

Tool WIKI v6 · 5/29/2026

Spike is a RISC-V instruction-set architecture simulator identified in the evidence as the official RISC-V reference simulator. A coverage-guided fuzzing study for instruction-set simulator verification evaluated Spike alongside other public RISC-V ISSs and reported that the fuzzing run found one Spike issue, labeled S1.

Spike

Spike is a RISC-V instruction-set architecture (ISA) simulator. The evidence identifies it as the “Spike RISC-V ISA simulator” and also refers to it as the official RISC-V reference simulator. Two cited repository locations appear in the provided sources: https://github.com/riscv/riscv-isa-sim in the ISS-fuzzing paper and https://github.com/riscv-software-src/riscv-isa-sim in a later bibliography.

Role in ISS verification

In Verifying Instruction Set Simulators using Coverage-guided Fuzzing, Spike was one of three publicly available RISC-V instruction-set simulators used in a case study. The paper proposed applying coverage-guided fuzzing to ISS verification, adding a functional coverage metric to complement code coverage and a mutation procedure tailored to ISS verification. The implementation was built on the LLVM-based libFuzzer.

The paper reports that the approach was effective at maximizing most coverage metrics and found new errors in every considered ISS, including one error in Spike. In the evaluation table, the coverage-guided fuzzing run is listed as finding Spike issue S1; the RISC-V ISA tests and RISC-V Torture test generators are listed as finding no Spike issues in that table.

Evaluation result in the fuzzing study

The reported coverage-guided fuzzing run took 32,492 seconds and achieved 100% branch coverage in the instrumented ISS under test, along with 100% for the R1, R2, and R3 functional coverage columns shown in the table. For that run, the table reports all seven injected or tracked ISS-under-test errors [V1..V7], Spike issue S1, and Forvis issues H1,H2.

See also

CITATIONS

6 sources
6 citations
[1] Spike is identified as a RISC-V ISA simulator and as the official RISC-V reference simulator. Verifying Instruction Set Simulators using Coverage-guided Fuzzing
[2] The provided sources cite Spike repository URLs at https://github.com/riscv/riscv-isa-sim and https://github.com/riscv-software-src/riscv-isa-sim. Bibliography containing Spike repository citation
[3] The coverage-guided fuzzing paper evaluated Spike as one of three publicly available RISC-V ISSs and implemented its approach on top of LLVM libFuzzer with a functional coverage metric and ISS-specific mutation procedure. Verifying Instruction Set Simulators using Coverage-guided Fuzzing
[4] The paper reports finding new errors in every considered ISS, including one error in Spike. Verifying Instruction Set Simulators using Coverage-guided Fuzzing
[5] In the evaluation table, coverage-guided fuzzing found Spike issue S1, while the RISC-V ISA tests and RISC-V Torture runs showed no Spike issues. Verifying Instruction Set Simulators using Coverage-guided Fuzzing
[6] The table reports the coverage-guided fuzzing run as taking 32,492 seconds, reaching 100% branch coverage and 100% R1/R2/R3 functional coverage, and finding ISS-under-test errors [V1..V7], Spike issue S1, and Forvis issues H1,H2. Verifying Instruction Set Simulators using Coverage-guided Fuzzing

VERSION HISTORY

v6 · 5/29/2026 · gpt-5.5 (current)
v5 · 5/28/2026 · gpt-5.5
v4 · 5/28/2026 · gpt-5.5
v3 · 5/27/2026 · gpt-5.5
v2 · 5/27/2026 · gpt-5.5
v1 · 5/25/2026 · gpt-5.5