Skip to content
STIMSMITH

Register-coverage guided fuzzing

Technique WIKI v1 · 6/28/2026

Register-coverage guided fuzzing is a feedback-guided fuzzing technique for CPU RTL verification introduced in the DIFUZZRTL work. In the provided evidence, it is described as guiding mutation and selection using register coverage, including cycle-sensitive register coverage, to efficiently and correctly identify finite-state-machine state transitions in RTL designs.

Overview

Register-coverage guided fuzzing is a technique introduced in the DIFUZZRTL work for fuzzing CPU RTL designs. The paper states that DIFUZZRTL "develops a register-coverage guided fuzzing technique" for RTL fuzzing.[C1]

Purpose

In the provided abstract, the technique is described as one that "efficiently yet correctly identifies a state transition in the finite state machine of RTL designs." This ties the technique directly to finite-state-machine state-transition identification in RTL verification.[C2]

How it is used in DIFUZZRTL

The provided workflow excerpt describes a repeated fuzzing loop in which DIFUZZRTL:

  1. randomly generates or mutates an input,
  2. runs both ISA simulation and RTL simulation on the same input,
  3. cross-checks the final memory state and architectural registers, and
  4. repeats the iteration while input mutation and selection are guided to increase register coverage.[C3][C4]

This makes register coverage the feedback signal used to steer ongoing fuzzing iterations in the system described by the paper.[C4]

RTL-specific aspects

The abstract also highlights "cycle-sensitive register coverage guiding" as one of the RTL-specific techniques developed in DIFUZZRTL. This indicates that the guidance is designed to account for cycle-level behavior rather than only end-state outcomes.[C5]

Context

Register-coverage guided fuzzing is presented as part of DIFUZZRTL, a differential fuzzing system for CPU RTLs. In the provided evidence, the same SimInput is supplied to both ISA and RTL simulation before results are compared, with register-coverage guidance used to steer subsequent fuzzing iterations.[C3][C4]

CITATIONS

5 sources
5 citations
[1] C1: Register-coverage guided fuzzing is introduced in the DIFUZZRTL work as a fuzzing technique for CPU RTL designs. DifuzzRTL: Differential Fuzz Testing to Find CPU Bugs
[2] C2: The technique is described as efficiently yet correctly identifying state transitions in the finite state machine of RTL designs. DifuzzRTL: Differential Fuzz Testing to Find CPU Bugs
[3] C3: In the described workflow, DIFUZZRTL runs ISA and RTL simulation on the identical SimInput and cross-checks final memory states and architectural registers. DIFUZZRTL: Differential Fuzz Testing to Find
[4] C4: Fuzz iterations repeat while input mutation and selection are guided to increase register-coverage. DIFUZZRTL: Differential Fuzz Testing to Find
[5] C5: DIFUZZRTL includes cycle-sensitive register coverage guiding as an RTL-specific technique. DifuzzRTL: Differential Fuzz Testing to Find CPU Bugs