Fuzzing Hardware Like Software

The work

AuthorsTimothy Trippel; Kang G. Shin; Alex Chernyakhovsky; Garret Kelly; Dominic Rizzo; Matthew Hicks
Editors
Typemisc
Year2021
Citekeytrippel2021fuzzing

Identifiers

arXiv2102.02308 from its landing_page_url

Related

Distinct fromanton2024goldenfree
Distinct frombryant1991memory
Distinct fromsaravanan2025synfuzz

From bibtex.

Abstract

Hardware flaws are permanent and potent: hardware cannot be patched once fabricated, and any flaws may undermine even formally verified software executing on top. Consequently, verification time dominates implementation time. The gold standard in hardware Design Verification (DV) is concentrated at two extremes: random dynamic verification and formal verification. Both techniques struggle to root out the subtle flaws in complex hardware that often manifest as security vulnerabilities. The root problem with random verification is its undirected nature, making it inefficient, while formal verification is constrained by the state-space explosion problem, making it infeasible to apply to complex designs. What is needed is a solution that is directed, yet under-constrained. Instead of making incremental improvements to existing hardware verification approaches, we leverage the observation that existing software fuzzers already provide such a solution; we adapt it for hardware verification, thus leveraging existing - more advanced - software verification tools. Specifically, we translate RTL hardware to a software model and fuzz that model. The central challenge we address is how best to mitigate the differences between the hardware execution model and software execution model. This includes: 1) how to represent test cases, 2) what is the hardware equivalent of a crash, 3) what is an appropriate coverage metric, and 4) how to create a general-purpose fuzzing harness for hardware. To evaluate our approach, we design, implement, and open-source a Hardware Fuzzing Pipeline that enables fuzzing hardware at scale, using only open-source tools. Using our pipeline, we fuzz four IP blocks from Google's OpenTitan Root-of-Trust chip. Our experiments reveal a two orders-of-magnitude reduction in run time to achieve Finite State Machine (FSM) coverage over traditional dynamic verification schemes. Moreover, with our design-agnostic harness, we achieve over 88% HDL line coverage in three out of four of our designs - even without any initial seeds.

A copy is held

pdf, 1006.3 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-09-17 04:03 UTC
Approved bya person 2026-09-17 17:01 UTC

Cite it as

@misc{trippel2021fuzzing,
  title        = {Fuzzing Hardware Like Software},
  author       = {Timothy Trippel and Kang G. Shin and Alex Chernyakhovsky and Garret Kelly and Dominic Rizzo and Matthew Hicks},
  year         = {2021},
}

This record lives at https://refs.drheap.org/trippel2021fuzzing/ and will keep doing so.