Instruction-Stream Fuzzing
TechniqueInstruction-stream fuzzing is a class of hardware-fuzzing techniques that generate random sequences of test instructions adhering to a target Instruction Set Architecture (ISA) to drive processor state transitions and uncover functional bugs. In contrast to software fuzzers that produce data streams conforming to file or protocol formats, hardware instruction-stream fuzzers produce ISA-compliant instruction streams and typically rely on differential testing against a Golden Reference Model for bug detection. This article focuses on the adaptation of instruction-stream fuzzing to GPU hardware, including the FuzzGPU generator, which extends the paradigm with SIMT-aware warp-level generation, a generation stack modeled on the hardware SIMT stack, and a barrier planner to coordinate multi-warp concurrency.
WIKI
Instruction-Stream Fuzzing
Overview
Instruction-stream fuzzing is a hardware-verification technique that automatically generates random sequences of instructions conforming to a target Instruction Set Architecture (ISA) and feeds them into a Design Under Test (DUT). Unlike software fuzzing, which exercises data parsers, instruction-stream fuzzing must produce instruction sequences that are legally encoded under the ISA and that exercise the architectural state transitions of the processor.