Skip to content
STIMSMITH

Efficient Cross-Level Processor Verification using Coverage-guided Fuzzing

Paper

A technical paper on applying coverage-guided fuzzing to processor verification, with AFL-based mutation extensions for RISC-V instruction streams and a post-processing step that clusters mismatch-triggering test vectors.

First seen 5/25/2026
Last seen 5/29/2026
Evidence 15 chunks
Wiki v2

WIKI

Efficient Cross-Level Processor Verification using Coverage-guided Fuzzing

Overview

Efficient Cross-Level Processor Verification using Coverage-guided Fuzzing is a paper about using coverage-guided fuzzing for processor verification. The available evidence identifies the work by title and shows that its implementation builds on AFL-style fuzzing, including a comparison between Vanilla AFL and an Enhanced AFL configuration. [paper-title] [afl-results]

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

50 connections
Mann-Whitney U Test uses → 100% 4e
The paper uses the Mann-Whitney U Test to statistically analyze the difference between Vanilla AFL and Enhanced AFL results.
VexRiscv evaluates → 100% 4e
The paper evaluates the VexRiscv RISC-V processor as the device under test.
Virtual Coverage uses → 95% 4e
The paper uses virtual coverage to improve coverage measurement in the co-simulation.
AFL uses → 100% 4e
The paper uses AFL as the base coverage-guided fuzzer, extended with custom mutations.
Co-Simulation uses → 100% 4e
The paper uses a co-simulation setting with an ISS as reference model for the RTL processor.
Post-processing Test Vector Clustering introduces → 100% 3e
The paper introduces post-processing test vector clustering to group test vectors that reveal the same bug.
Cross-Level Verification uses → 100% 2e
The paper proposes a cross-level verification approach for processors.
Niklas Bruns authored by → 100% 2e
Niklas Bruns is listed as an author of the paper.
Coverage-guided Fuzzing introduces → 100% 2e
The paper proposes leveraging coverage-guided fuzzing for processor verification.
Instruction Set Simulator uses → 100% 2e
An ISS is used as a reference model for the RTL processor under test.
Translation Buffer introduces → 100% 2e
The Translation Buffer is a novel component introduced in the paper to transform test vectors into instruction streams.
Execution Controller introduces → 100% 2e
The Execution Controller is introduced as a key component for detecting mismatches and preventing infinite loops.
Fast Exploration Mutation introduces → 100% 2e
The paper introduces the Fast Exploration mutation as a custom AFL mutation for processor verification.
SpinalFuzz mentions → 90% 2e
The paper mentions SpinalFuzz as a related fuzzing tool for SpinalHDL designs.
The paper compares its approach with the cross-level co-simulation approach from this related work.
The paper mentions this related work on coverage-guided fuzzing for ISS verification.
Fuzzing Hardware Like Software mentions → 90% 2e
The paper mentions this work as a related fuzzing approach for hardware.
Test Vector uses → 100% 2e
Test vectors are generated by the fuzzer and used as instruction streams for co-simulation.
Vladimir Herdt authored by → 100% 2e
Vladimir Herdt is listed as an author of the paper.
Daniel Große authored by → 100% 2e
Daniel Große is listed as an author of the paper.
Rolf Drechsler authored by → 100% 2e
Rolf Drechsler is listed as an author of the paper.
Coverage-guided Fuzzing uses → 100% 2e
The paper leverages coverage-guided fuzzing techniques to generate processor-level input stimuli.
RISC-V uses → 100% 2e
The paper uses RISC-V as the ISA for the processor verification case study.
RISC-V VP uses → 100% 2e
The paper uses RISC-V VP as the reference ISS in the co-simulation.
Verilator uses → 100% 2e
The paper uses Verilator to translate the RTL-core to C++ for co-simulation.
Translation Buffer introduces → 95% 2e
The paper introduces the Translation Buffer component to transform fuzzer test vectors into endless instruction streams.
Execution Controller introduces → 95% 2e
The paper introduces the Execution Controller to prevent infinite loops and detect mismatches between processor cores.
Enhanced Havoc Mutation introduces → 100% 2e
The paper introduces the Enhanced Havoc mutation as a custom AFL mutation for processor verification.
Register Value Comparison uses → 100% 2e
The paper uses register value comparison as the mechanism to detect functional mismatches between ISS and RTL-core.
CSR Testing uses → 90% 2e
The paper includes CSR testing as part of the verification approach and Enhanced Havoc mutation includes CSR instruction support.
RV32IM uses → 100% 2e
The paper uses the RV32IM configuration of VexRiscv in its case study.
Processor-level Input Stimuli Generation uses → 100% 2e
The paper generates processor-level input stimuli using coverage-guided fuzzing techniques.
RISC-V ISA Tests compares with → 70% 2e
The paper mentions RISC-V ISA Tests as a related baseline verification approach.
riscv-dv compares with → 70% 2e
The paper mentions RISCV-DV as a related constraint-based RISC-V verification tool.
Constraint Satisfaction Problem mentions → 90% 1e
The paper mentions CSP as a technique used in related work for constraint-based test generation.
Model-based Test Generation mentions → 90% 1e
The paper mentions model-based test generators as related work.
RFUZZ compares with → 70% 1e
The paper mentions RFUZZ as a related fuzzing approach for hardware verification.
SpinalFuzz compares with → 70% 1e
The paper mentions SpinalFuzz as a related fuzzing approach for SpinalHDL designs.
Machine Learning for Test Generation mentions → 90% 1e
The paper mentions machine learning techniques as related work for test generation.
Symbolic Execution mentions → 90% 1e
The paper mentions symbolic execution as a related technique for ISS-level test generation.
Model Checking mentions → 90% 1e
The paper mentions model checking as a related formal verification approach for RISC-V.
Directed Test Suites mentions → 90% 1e
The paper mentions semi hand-written directed test suites as baseline verification approaches for RISC-V.
FPGA Acceleration mentions → 90% 1e
The paper mentions FPGA acceleration as used by a related fuzzing approach.
SystemC TLM uses → 100% 1e
The paper embeds the RTL-core and ISS into a common SystemC TLM testbench.
Endless Instruction Stream Generation compares with → 85% 1e
The paper contrasts its approach with the single endless instruction stream generation approach.
The paper discusses CSP-based test generation as a related approach.
Model-Based Test Generation compares with → 75% 1e
The paper discusses model-based test generation as a related approach.
The paper mentions Genesys-Pro as a related model-based test generation approach.
RFUZZ mentions → 90% 1e
The paper mentions RFUZZ as a related hardware fuzzing approach combining fuzzing with FPGA acceleration.
riscv-dv mentions → 90% 1e
The paper mentions RISCV-DV as a related constraint-based instruction stream generator.

LINKED ENTITIES

37 links
Register Value Comparison USES Extracted graph relationship
Niklas Bruns AUTHORED_BY Extracted graph relationship
Vladimir Herdt AUTHORED_BY Extracted graph relationship
Daniel Große AUTHORED_BY Extracted graph relationship
Rolf Drechsler AUTHORED_BY Extracted graph relationship
Cross-Level Processor Verification INTRODUCES Extracted graph relationship
Coverage-guided Fuzzing USES Extracted graph relationship
Co-Simulation USES Extracted graph relationship
Instruction Set Simulator USES Extracted graph relationship
RISC-V USES Extracted graph relationship
AFL USES Extracted graph relationship
VexRiscv EVALUATES Extracted graph relationship
RISC-V VP USES Extracted graph relationship
Verilator USES Extracted graph relationship
SystemC TLM USES Extracted graph relationship
Translation Buffer INTRODUCES Extracted graph relationship
Execution Controller INTRODUCES Extracted graph relationship
Fast Exploration Mutation INTRODUCES Extracted graph relationship
Enhanced Havoc Mutation INTRODUCES Extracted graph relationship
Post-processing Test Vector Clustering INTRODUCES Extracted graph relationship
Virtual Coverage USES Extracted graph relationship
CSR Testing USES Extracted graph relationship
Mann-Whitney U Test USES Extracted graph relationship
RV32IM USES Extracted graph relationship
Processor-level Input Stimuli Generation USES Extracted graph relationship
Mutation-Based Fuzzing USES Extracted graph relationship
RFUZZ COMPARES_WITH Extracted graph relationship
SpinalFuzz COMPARES_WITH Extracted graph relationship
Endless Instruction Stream Generation COMPARES_WITH Extracted graph relationship
Constraint Satisfaction Problem-based Test Generation COMPARES_WITH Extracted graph relationship
Model-Based Test Generation COMPARES_WITH Extracted graph relationship
Bayesian Network Coverage-Directed Test Generation COMPARES_WITH Extracted graph relationship
Symbolic Execution for Test Generation COMPARES_WITH Extracted graph relationship
RISC-V Torture Test Generator COMPARES_WITH Extracted graph relationship
RISC-V ISA Tests COMPARES_WITH Extracted graph relationship
riscv-dv COMPARES_WITH Extracted graph relationship
Genesys-Pro COMPARES_WITH Extracted graph relationship