Skip to content
STIMSMITH

Watchpoint Instruction

Concept WIKI v1 · 5/27/2026

In the MorFuzz processor-fuzzing workflow, watchpoint instructions are inserted at specific locations in sequence patterns to expose the device under test's internal state and improve observability during stimulus-template execution.

Overview

A watchpoint instruction is described in the MorFuzz evidence as an instruction inserted into generated instruction sequences at specific locations to expose the internal state of the device under test (DUT). Its stated purpose is to enhance observability during processor fuzzing. [C1]

Role in MorFuzz

MorFuzz generates template instructions at block granularity and uses manually constructed sequence patterns in each testing block to constrain instruction types and reach desired test points. Within those sequence patterns, MorFuzz inserts watchpoint instructions at selected positions so that internal DUT state can be observed. [C2]

The paper gives an example: after a floating-point instruction sequence, MorFuzz inserts instructions that read the floating-point exception flag CSR to check whether the exception flag is set correctly. [C3]

Relationship to stimulus templates

The watchpoint-instruction mechanism appears in the broader stimulus-template generation flow. Template instructions act as placeholders that preserve instruction-length information for the memory layout of the stimulus template, while other fields are initially dummy values later replaced by MorFuzz using runtime contextual information. The fuzzer also manages the control flow of the stimulus template through the fuzzing execution environment. [C4]

Practical purpose

Within the provided evidence, the practical purpose of watchpoint instructions is not to mutate instruction fields, but to make processor state visible at meaningful points in a generated sequence. This supports checking whether execution side effects, such as CSR exception flags after floating-point sequences, match the expected behavior. [C1][C3]

CITATIONS

4 sources
4 citations
[1] C1: Watchpoint instructions are inserted at specific locations to expose DUT internal state and enhance observability. MorFuzz: Fuzzing Processor via Runtime Instruction Morphing enhanced Synchronizable Co-simulation
[2] C2: MorFuzz generates template instructions at block granularity and uses manually constructed sequence patterns in testing blocks to constrain instruction types and reach desired test points. MorFuzz: Fuzzing Processor via Runtime Instruction Morphing enhanced Synchronizable Co-simulation
[3] C3: MorFuzz uses instructions that read the floating-point exception flag CSR after a floating-point instruction sequence to check whether the exception flag is set correctly. MorFuzz: Fuzzing Processor via Runtime Instruction Morphing enhanced Synchronizable Co-simulation
[4] C4: Template instructions support the memory layout of the stimulus template, are later filled with meaningful values by MorFuzz, and the fuzzer manages stimulus-template control flow through the fuzzing execution environment. MorFuzz: Fuzzing Processor via Runtime Instruction Morphing enhanced Synchronizable Co-simulation