coverage-analysis

Identify and quantify LLVM/GCC code coverage during fuzzing to guide harness improvements for C/C++ and Rust targets.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/erenisiklar/Pusula --skill coverage-analysis-erenisiklar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: coverage-analysis
Source: https://github.com/erenisiklar/Pusula/tree/main/.claude/skills/coverage-analysis
Command: npx skills add https://github.com/erenisiklar/Pusula --skill coverage-analysis-erenisiklar

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Coverage analysis helps fuzzing teams understand which parts of the code are exercised by their fuzzing campaigns, enabling targeted harness improvements, blocker identification, and faster iteration.

Core Features & Use Cases

  • Instrumentation for code coverage during fuzzing: compile and run to collect coverage data (LLVM/Clang or GCC based).
  • Progress tracking and benchmark of harness effectiveness: compare coverage across corpus updates and harness changes.
  • Identification of blockers and magic value checks: detect unexecuted branches and hard-to-reach code, guiding dictionary and seed strategy.

Quick Start

Enable coverage instrumentation on your build, run the fuzzing corpus, and generate a report with llvm-cov or gcovr.

Frequently Asked Questions about coverage-analysis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use llvm-cov to measure code coverage during fuzzing?

To measure code coverage during fuzzing, compile your C/C++ or Rust targets with instrumentation like -fprofile-instr-generate -fcoverage-mapping, execute your corpus, and use llvm-profdata and llvm-cov to generate reports.

What is fuzzing coverage analysis used for?

Fuzzing coverage analysis identifies which code paths are exercised by your corpus, enabling targeted harness improvements, blocker identification, and measurement of corpus effectiveness to guide dictionary and seed strategy.

Can I use gcovr for coverage analysis on Rust fuzz targets?

Yes, you can use gcovr for coverage analysis on Rust and C/C++ fuzz targets that use GCC coverage instrumentation, producing reports to track progress and benchmark harness effectiveness across corpus updates.

How do I detect magic-value checks blocking my fuzzing campaign?

To detect magic-value checks and blockers, analyze your coverage reports to identify unexecuted branches and hard-to-reach code paths, then use these insights to guide your dictionary and seed strategy.

What's the best way to compare harness effectiveness across corpus updates?

The best way to compare harness effectiveness is to track coverage progress by generating reports with llvm-cov or gcovr after each corpus update and harness change, quantifying which code paths are newly exercised.

Do I need a specific runtime to execute the corpus for coverage instrumentation?

Yes, you need a runtime to execute the corpus against your instrumented builds, along with coverage tooling such as llvm-profdata, llvm-cov, or gcovr to process the collected data and produce coverage reports.