Skip to content
STIMSMITH

Coverage Directed Test Generation

Concept

Coverage Directed Test Generation (CDG) is a dynamic verification method deployed in both software testing and hardware verification, in which coverage metrics from the present simulation are used to drive the generation of inputs for subsequent simulations. The evidence spans processor/RTL verification, model-based test-program generation, and robotic-software testing, and characterizes CDG mechanisms as a research response to the limits of unguided random generation and the cost of manual constraint tuning.

First seen 5/26/2026
Last seen 6/11/2026
Evidence 6 chunks
Wiki v3

WIKI

Overview

Coverage Directed Test Generation (CDG) is a dynamic verification method in which coverage metrics obtained from a current simulation are used to drive the generation of inputs for subsequent simulations. The FuzzWiz evidence describes CDG as "another renowned dynamic method which is deployed in both software testing and hardware verification," and defines the core mechanism explicitly: "coverage metrics from the present simulation are used to drive the generation of inputs for subsequent simulations."

The concept appears in the provided evidence in two main application domains:

READ FULL ARTICLE →

NEIGHBORHOOD

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

explore full graph →

RELATIONSHIPS

5 connections
Bayesian Network Test Generation uses → 85% 2e
CDG mechanisms can use Bayesian networks for test generation
Avi Ziv mentions → 90% 1e
Avi Ziv's research interests include coverage-directed test generation
MicroGP ← implements 90% 1e
MicroGP uses genetic programming for CDG
Markov Chain Model uses → 85% 1e
CDG frameworks can use Markov chain models for test generation
The paper mentions Coverage Directed Test Generation as a relevant methodology.

CITATIONS

12 sources
12 citations — click to expand
[1] CDG is a renowned dynamic method deployed in both software testing and hardware verification, in which coverage metrics from the present simulation are used to drive the generation of inputs for subsequent simulations. FuzzWiz - Fuzzing Framework for Efficient Hardware Coverage
[2] Simulation-based verification is the strongest method in verification; Constrained Random Verification is one of the most widely used methodologies but falls short in thoroughly exploring the state space of the design due to the time-space explosion; effectiveness of test generation depends on the structure of the DUV, the coverage criterion, and input space, and generated tests still miss many potentially severe bugs; regression simulations often require longer turnaround time to reach sensible coverage metrics. FuzzWiz - Fuzzing Framework for Efficient Hardware Coverage
[3] Over the last two decades, numerous solutions have been proposed for CDG; coverage-guided fuzzing from software testing has been studied in hardware verification to address the CDG problem, but existing studies have limitations in terms of HDL used for RTL implementation, type of coverage feedback, and the fuzzing engine used. FuzzWiz - Fuzzing Framework for Efficient Hardware Coverage
[4] CDG is a widely-used technique for verification of RTL designs in which the constraints of a test generator are automatically driven by coverage feedback so that the test input generated in the next round can increase the overall coverage; CDG mechanisms obtain coverage feedback from the DUT to automatically fine-tune the constraints of test generators. ProcessorFuzz thesis (BU Open)
[5] Specific CDG mechanisms include MicroGP (instruction-template-based genetic programming with statement-coverage fitness), Fine and Ziv's Bayesian-network-based CDG (which requires in-depth expertise in design specifications to set up the network), and Wagner et al.'s Markov-chain-based CDG (which relies on a manually crafted custom template and requires deep domain knowledge). ProcessorFuzz thesis (BU Open)
[6] CDG mechanisms aim to find a balance between the amount of domain knowledge applied to the framework and the general applicability of the mechanism, and existing CDG mechanisms are usually either DUT-specific or require in-depth design knowledge for the initial setup. ProcessorFuzz thesis (BU Open)
[7] Formal verification methods such as symbolic execution and model checking use mathematical reasoning to prove a hardware design conforms to its specification, but have a well-known state explosion problem and do not scale well for complex RTL designs such as a processor. ProcessorFuzz thesis (BU Open)
[8] Random instruction generators are commonly used in processor verification because they require limited human expertise and scale to large RTL designs, but the lack of coverage guidance leads to generation of repetitive inputs that test the same functionalities, decreasing the chance of finding bugs; manually adjusting constraints to target uncovered RTL regions increases engineering effort and slows verification. ProcessorFuzz: Processor Fuzzing with Control and Coverage Guidance
[9] Researchers have proposed several coverage-directed test generation mechanisms that automatically fine-tune the constraints of test generators using coverage feedback. ProcessorFuzz: Processor Fuzzing with Control and Coverage Guidance
[10] Some hardware fuzzing approaches translate hardware designs to software models to reuse software-fuzzer coverage metrics (basic block, edge), but this introduces the challenge of proving equivalence between hardware design and software model; TheHuzz uses Cadence and ModelSim to extract statement, branch, line, and expression coverage, which prior work considers insufficient for processor verification. ProcessorFuzz: Processor Fuzzing with Control and Coverage Guidance
[11] VerilogReader integrates an LLM into the CDG process for Verilog hardware test generation, using the LLM as a Verilog Reader to grasp code logic and generate stimuli that can reach unexplored code branches, with experiments on a self-designed Verilog benchmark showing the framework outperforms random testing on designs within the LLM's comprehension scope. VerilogReader: LLM-Aided Hardware Test Generation
[12] In robotic software testing for human–robot interaction, BDI agent models are used for test generation and reinforcement learning is introduced to automate exploration of those BDI models with a reward function based on coverage feedback, leading to 'very effective coverage-directed test generation' in a collaborative manufacture case study. Intelligent Agent-Based Stimulation for Testing Robotic Software in Human-Robot Interactions