Skip to content
STIMSMITH

Block Coverage

Concept

Block coverage is a code coverage metric that measures whether each basic block in a program's control flow graph has been executed at least once during testing. It serves as a coarser-grained alternative to branch or edge coverage and is used across software testing, search-based test generation, and binary-only fuzzing, as well as in specialized verification frameworks such as NISA-DV for neuromorphic processors.

First seen 7/28/2026
Last seen 8/17/2026
Evidence 4 chunks
Wiki v1

WIKI

Definition

Block coverage (also called basic block coverage, BBC) is a code coverage criterion that tracks whether every basic block in a program's control flow graph (CFG) has been executed at least once by a test suite. A basic block is a maximal straight-line sequence of instructions with a single entry and single exit point.

Role in Search-Based Software Testing

READ FULL ARTICLE →

NEIGHBORHOOD

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

explore full graph →

RELATIONSHIPS

3 connections
The paper uses block coverage as a verification metric.
NISA-DV ← evaluates 95% 1e
NISA-DV measures block coverage as a verification metric, achieving 8.34% improvement.
Code Coverage part of → 90% 1e
Block coverage is a component of code coverage.

CITATIONS

6 sources
6 citations — click to expand
[1] BBC introduces a secondary objective for search-based testing that accounts for implicit branchings within basic blocks when explicit branch heuristics cannot guide the search. Basic Block Coverage for Search-based Unit Testing and Crash Reproduction
[2] BBC with DynaMOSA yields systematic ~1.5% branch-coverage improvements, higher output-domain coverage, and more runtime-state diversity. Basic Block Coverage for Search-based Unit Testing and Crash Reproduction
[3] BBC combined with STDistance or WeightedSum helped reproduce 3 additional crashes per fitness function and reduced reproduction time by 71.7% (STDistance) and 68.7% (WeightedSum) on average. Basic Block Coverage for Search-based Unit Testing and Crash Reproduction
[4] Coverage-guided Tracing (CGT) supports only basic block coverage granularity, leaving finer metrics such as edge coverage and hit counts unsupported in tools like UnTracer. Same Coverage, Less Bloat: Accelerating Binary-only Fuzzing with Coverage-preserving Coverage-guided Tracing
[5] Coverage-preserving CGT attains near-identical speed to UnTracer and outperforms QEMU, Dyninst, RetroWrite, and AFL-Clang by 2-24x across 12 real-world binaries. Same Coverage, Less Bloat: Accelerating Binary-only Fuzzing with Coverage-preserving Coverage-guided Tracing
[6] NISA-DV achieved an 8.34% block coverage improvement and a 29.63% toggle coverage improvement on NeuroRVCore compared with random testing using only RISCV-DV. NISA-DV: Verification Framework for Neuromorphic Processors with ...