coverage-analysis

Measure code coverage during fuzzing campaigns using LLVM and GCC instrumentation.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you understand how much of your code is being tested by your fuzzing harnesses and identify areas that are not being reached, allowing you to improve your fuzzing strategy.

Core Features & Use Cases

  • Code Coverage Measurement: Generates reports detailing which lines and branches of code are executed during fuzzing.
  • Fuzzing Blocker Identification: Helps pinpoint "magic value" checks or other conditions that prevent fuzzers from reaching deeper code paths.
  • Use Case: After running a fuzzer for several days, you notice no new crashes or interesting inputs. You use this Skill to generate a coverage report and discover that only 30% of your target code is being exercised, indicating a need to improve your fuzzing harness or add dictionary entries.

Quick Start

Use the coverage-analysis skill to build the provided C++ code with LLVM coverage instrumentation and generate an HTML report.

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?

Code coverage during a fuzzing campaign is measured by compiling the target with LLVM or GCC instrumentation flags and post-processing the profile data using tools like llvm-cov or gcovr to generate detailed execution reports.

How can I identify fuzzing blockers like magic value checks in my code?

You can identify fuzzing blockers like magic value checks by analyzing code coverage reports to find conditions that prevent fuzzers from reaching deeper code paths, indicating where to improve harnesses or add dictionary entries.

How do I generate an HTML coverage report from LLVM profile data?

To generate an HTML coverage report from LLVM profile data, compile your C++ code with LLVM coverage instrumentation and post-process the collected profile data using the llvm-cov tool to visualize executed lines and branches.

What is the best way to track fuzzing progress over time?

Tracking fuzzing progress over time is best done by periodically generating code coverage reports to measure the percentage of exercised lines and branches, helping assess harness effectiveness and identify untested code areas.

Do I need specific compiler flags to analyze fuzzing coverage?

Yes, analyzing fuzzing coverage requires compiling the target code with specific LLVM or GCC instrumentation flags to enable profile data collection for post-processing with tools like gcovr or llvm-cov.

Why does my fuzzer stop finding crashes after running for several days?

Your fuzzer may stop finding crashes because only a small percentage of the target code is being exercised; generating a coverage report helps identify untested areas and fuzzing blockers that require harness improvements.