Overview
CSR-transition coverage is a coverage-guidance technique associated with ProcessorFuzz. In the supplied ProcessorFuzz paper excerpts, the technique is motivated as a new coverage metric intended to address a weakness in prior processor-fuzzing feedback based on RTL register coverage. [C1]
Motivation
The paper contrasts ProcessorFuzz's approach with register coverage as used by DIFUZZRTL. DIFUZZRTL monitors value changes in registers that directly or indirectly control multiplexer selection signals; the intuition is that values in those registers approximate unique states of the processor finite-state machine (FSM), and that fuzzing can use those values to explore additional FSM states. [C2]
The ProcessorFuzz authors argue that this signal can be misleading for processor fuzzing. Their key observation is that register coverage may include many datapath registers with minimal control over the processor's current FSM state. Coverage increases from such datapath registers do not provide meaningful information about the current FSM state, but can still cause inputs to be classified as "interesting," wasting fuzzing time. [C3]
Example problem with register coverage
The paper gives a Rocket Core example in which DIFUZZRTL's register-coverage increase is heavily influenced by the MulDiv module. Within that module, the remainder register is identified as a major contributor to the coverage increase. The authors use this example to argue that datapath registers can significantly increase the search space without producing useful feedback about hardware state, and that inputs should not be retained merely because they increase coverage through datapath-register activity. [C4]
Role in processor fuzzing context
Processor fuzzing in the paper is framed around dynamic verification and differential testing: an RTL simulator models the detailed microarchitecture, an ISA simulator serves as a reference model for functional behavior, and mismatches between their execution outputs indicate potential processor bugs. [C5]
Within that context, CSR-transition coverage is the coverage-side response to the register-coverage problem described above. The supplied evidence supports the motivation for a new metric, but does not include enough detail to restate the full mechanics of related components such as the Transition Unit, Transition Map, or extended ISA trace log.
Evaluation context
The provided excerpt reports that ProcessorFuzz identified eight new bugs across three processor designs and one new bug in a reference model. [C6]