Fuzzing Hardware Like Software
Not on the map. Why?
Abstract (arXiv)
Hardware flaws are permanent and potent: hardware cannot be patched once fabricated, and any flaws may undermine any 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 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 against complex designs. What is needed is a solution that is directed, yet under-constrained. Instead of making incremental improvements to existing DV approaches, we leverage the observation that existing software fuzzers already provide such a solution, and adapt them for hardware DV. 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 fuzz four IP blocks from Google's OpenTitan SoC. 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.
Key facts. Cited by 9 papers in the map (data through 7 Oct 2026). First posted on arXiv 3 Feb 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 1; 2023: 2; 2024: 4; 2025: 1; 2026: 1.
9 papers.
- 2023(Security) Assertions by Large Language Modelscited by 31
- 2022NNSmith: Generating Diverse and Valid Test Cases for Deep Learning Compilerscited by 29
- 2023LLM for SoC Security: A Paradigm Shiftcited by 22
- 2024LLMs and the Future of Chip Design: Unveiling Security Risks and Building Trustcited by 18
- 2024Neural Model Checkingcited by 6
- 2025SV-LLM: An Agentic Approach for SoC Security Verification using Large Language Modelscited by 5
- 2024Beyond Random Inputs: A Novel ML-Based Hardware Fuzzingcited by 3
- 2024FuzzWiz -- Fuzzing Framework for Efficient Hardware Coveragecited by 0
- 2026Natural Synthesis: Outperforming Reactive Synthesis Tools with Large Reasoning Modelscited by 0
- 2026Natural Synthesis: Outperforming Reactive Synthesis Tools with Large Reasoning Models14 May 2026
- 2025SV-LLM: An Agentic Approach for SoC Security Verification using Large Language Models25 Jun 2025
- 2024Neural Model Checking31 Oct 2024
- 2024FuzzWiz -- Fuzzing Framework for Efficient Hardware Coverage23 Oct 2024
- 2024LLMs and the Future of Chip Design: Unveiling Security Risks and Building Trust11 May 2024
- 2024Beyond Random Inputs: A Novel ML-Based Hardware Fuzzing10 Apr 2024
- 2023LLM for SoC Security: A Paradigm Shift9 Oct 2023
- 2023(Security) Assertions by Large Language Models24 Jun 2023
- 2022NNSmith: Generating Diverse and Valid Test Cases for Deep Learning Compilers26 Jul 2022