coverage-analysis

Analyze code coverage from LLVM and GCC fuzzing campaigns for C/C++ and Rust projects.

1|Updated Feb 17, 2026
One-click install
npx skills add https://github.com/Ramprasad4121/srp --skill coverage-analysis-ramprasad4121
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: coverage-analysis
Source: https://github.com/Ramprasad4121/srp/tree/main/skills-repos/trailofbits/plugins/testing-handbook-skills/skills/coverage-analysis
Command: npx skills add https://github.com/Ramprasad4121/srp --skill coverage-analysis-ramprasad4121

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you understand which parts of your code are being exercised by your fuzzing harnesses and identify potential fuzzing blockers.

Core Features & Use Cases

  • Assess Harness Effectiveness: Determine if your fuzzing harnesses are reaching the intended code paths.
  • Identify Fuzzing Blockers: Detect issues like magic value checks that prevent fuzzers from progressing.
  • Track Progress: Monitor coverage changes over time as you improve harnesses or fuzzers.
  • Use Case: After running a fuzzing campaign, use this Skill to generate a coverage report that highlights unexecuted code, guiding you on where to focus your efforts for better harness development.

Quick Start

Build your C++ project with LLVM coverage instrumentation using clang++ -fprofile-instr-generate -fcoverage-mapping -O2 -DNO_MAIN main.cc harness.cc execute-rt.cc -o fuzz_exec.

Frequently Asked Questions about coverage-analysis

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

FAQPage Schema
How do I measure code coverage during a fuzzing campaign?

Assessing harness effectiveness involves running instrumented fuzzing builds and analyzing the resulting coverage reports to determine if the fuzzer reaches intended code paths or gets blocked by checks like magic values.

How do I build a C++ project with LLVM coverage instrumentation for fuzzing?

You build a C++ project with LLVM coverage instrumentation by compiling with clang++ using the -fprofile-instr-generate and -fcoverage-mapping flags, enabling detailed code coverage tracking during execution.

Why does my fuzzer stop progressing past certain code branches?

Yes, you can track fuzzing progress over time by monitoring coverage changes as you improve your harnesses or fuzzers, allowing you to see the impact of your optimizations on executed code paths.

Does coverage analysis work with both LLVM and GCC toolchains?

Yes, coverage analysis supports both LLVM and GCC toolchains, allowing you to instrument and analyze code coverage for C/C++ and Rust projects across different compiler environments.