Overview
Input-stimuli fuzzing refers to hardware-verification techniques that adapt software-fuzzing ideas to hardware by stressing the design-under-test (DUT) externally. In the Logic Fuzzer paper’s taxonomy, these methods are explicitly characterized as an “outside-in” approach: they drive or generate stimuli for the DUT rather than fuzzing the DUT’s internal RTL logic.
Examples and related techniques
The cited Logic Fuzzer related-work section identifies several examples of input-stimuli fuzzing or closely related approaches:
- RFUZZ transferred the concept of American Fuzzy Lop (AFL) to hardware.
- Work by Trippel et al. explored transferring a hardware design to a software model so that established software-fuzzing techniques could be applied in the software domain.
- A technique in the PyMTL infrastructure adapted Hypothesis Testing, described as property-based testing in which assertions are constructed and the technique attempts to find the minimal example that breaks an assertion.
Contrast with Logic Fuzzer
Input-stimuli fuzzing should not be confused with Logic Fuzzer. The Logic Fuzzer paper states that input-stimuli fuzzing techniques stress the DUT externally, while Logic Fuzzer fuzzes the actual RTL logic wherever possible. Logic Fuzzer is described as an “inside-out” approach: inserted logic stirs execution paths while code is running, bringing the processor outside its normal flow without requiring specialized code and while operating independently of existing verification infrastructure.
Role in hardware verification
Input-stimuli fuzzing belongs to a broader set of hardware-verification methods inspired by software verification. Its distinguishing feature in the provided taxonomy is where fuzzing pressure is applied: at the DUT boundary through generated or transformed stimuli, rather than inside the implementation logic itself.