Overview
LLVM libFuzzer is a fuzzing tool referenced as a notable representative of modern Coverage-Guided Fuzzing (CGF), together with AFL. The cited GLSVLSI 2022 paper characterizes state-of-the-art fuzzing as using coverage-guided techniques that rely on mutation-based algorithms to generate new inputs, and identifies LLVM libFuzzer as part of that CGF category. [C1]
Role in coverage-guided fuzzing
The evidence places LLVM libFuzzer in the modern CGF family and states that both AFL and LLVM libFuzzer have an impressive bug-finding record. [C2] In this context, CGF is described as a software-domain test-generation technique that has been effective, versatile, and comparatively easy to use. [C3]
Use in processor-verification research
LLVM libFuzzer has been used as the basis for coverage-guided fuzzing in RISC-V instruction-set-simulator verification. The cited work notes that CGF based on LLVM libFuzzer had been proposed for RISC-V ISS verification. [C4]
That prior LLVM-libFuzzer-based RISC-V ISS approach is distinguished from the cross-level co-simulation approach discussed in the GLSVLSI 2022 paper: it generated standalone executable test cases rather than using a co-simulation environment, and it targeted a different abstraction level. [C5]
Context and limitations in the cited hardware domain discussion
The cited paper frames fuzzing as highly successful in software, while noting that hardware-domain applications were much more limited at the time. [C6] Within that hardware-verification context, LLVM libFuzzer appears as an existing CGF tool used in prior RISC-V ISS-level verification rather than as the specific focus of the cross-level RTL co-simulation contribution described by the paper. [C4] [C5]