Skip to content
STIMSMITH

Software fuzzing

Technique

Software fuzzing is a bug-discovery technique that repeatedly runs a program under test with many random inputs. Coverage-based greybox fuzzing extends this approach by using runtime coverage feedback, such as basic-block or edge coverage, to identify interesting inputs and mutate them into new test cases.

First seen 5/29/2026
Last seen 6/11/2026
Evidence 4 chunks
Wiki v1

WIKI

Overview

Software fuzzing is a testing technique for discovering bugs by repeatedly running a Program Under Test (PUT) with a large number of random inputs. The provided evidence describes fuzzing as broadly adopted in the software community because of its effectiveness in bug discovery, scalability, and practicality.

Coverage-based greybox fuzzing

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

2 connections
hardware fuzzing ← derived from 100% 2e
Hardware fuzzing is inspired by and adapted from software fuzzing.
ProcessorFuzz ← mentions 1e
The ProcessorFuzz paper mentions software fuzzing as the inspiration for its hardware fuzzing approach.

CITATIONS

5 sources
5 citations — click to expand
[1] Fuzzing repeatedly runs a Program Under Test with many random inputs to discover software bugs and is broadly adopted due to effectiveness, scalability, and practicality. ProcessorFuzz: Processor Fuzzing with Control and Status Registers Guidance
[2] Coverage-based greybox fuzzing records runtime coverage such as basic-block or edge coverage to decide whether an input is interesting. ProcessorFuzz: Processor Fuzzing with Control and Status Registers Guidance
[3] CGF mutates interesting inputs to generate new inputs, with the intuition that coverage-increasing inputs may lead to more unexplored code, and it instruments program code statically or dynamically to record coverage. ProcessorFuzz: Processor Fuzzing with Control and Status Registers Guidance
[4] CGF has been adapted from software testing to hardware dynamic verification, including processor fuzzing; hardware designs are commonly represented at RTL in HDLs such as Verilog or VHDL and simulated rather than directly executed on the host machine. ProcessorFuzz: Processor Fuzzing with Control and Status Registers Guidance
[5] Differential testing in software compares outputs of multiple programs with the same functional behavior; in processor fuzzing, RTL simulation output is compared with ISA simulation output, and differences indicate potential processor bugs. ProcessorFuzz: Processor Fuzzing with Control and Status Registers Guidance