coverage-analysis

Analyze code coverage from fuzzing campaigns and generate reports with LLVM tools.

Updated Jul 10, 2025
One-click install
npx skills add https://github.com/Superlend/superloop-core-contracts --skill coverage-analysis-superlend
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: coverage-analysis
Source: https://github.com/Superlend/superloop-core-contracts/tree/main/.cursor/skills/testing-handbook-skills/skills/coverage-analysis
Command: npx skills add https://github.com/Superlend/superloop-core-contracts --skill coverage-analysis-superlend

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Coverage analysis measures code exercised during fuzzing, helping identify blockers and track harness improvements over time.

Core Features & Use Cases

  • Assess harness effectiveness by revealing code paths touched by fuzzers
  • Track fuzzing progress as harnesses or targets evolve
  • Identify magic value checks and opportunities to improve dictionaries or seed inputs
  • Generate actionable coverage reports using LLVM/Clang, gcovr, or cargo-fuzz workflows

Quick Start

Run coverage instrumentation on your fuzz target, execute the corpus, and generate reports with llvm-profdata/llvm-cov or gcovr to identify untested code paths and guide harness improvements.

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?

Measure fuzzing coverage by instrumenting fuzz targets, executing the corpus, and generating reports with llvm-profdata and llvm-cov to identify untested code paths and guide harness improvements.

Why does my fuzzer stop finding new bugs despite running for a long time?

Fuzzing stagnation often indicates insufficient code coverage. Analyze coverage reports to identify untouched code paths, revealing opportunities to adjust dictionaries, seed inputs, or refine test corpora.

Can I use gcovr instead of LLVM tools to track fuzzing coverage?

Yes, you can use gcovr as an alternative coverage system to LLVM-based tools. It generates comparable coverage reports to track fuzzing progress and assess harness effectiveness across different language workflows.

Does coverage analysis support Rust fuzzing targets?

Yes, coverage analysis applies to fuzzing campaigns across C/C++, Rust, and other languages. It supports integrating with cargo-fuzz workflows and LLVM-based tools to produce actionable coverage reports.

What is the best way to identify magic value checks blocking my fuzzer?

Analyze code coverage reports to identify magic value checks and blockers. Coverage analysis reveals specific code paths touched by fuzzers, highlighting where to improve dictionaries or seed inputs for deeper execution.

How do I track fuzzing progress as my harnesses evolve?

Track fuzzing progress by generating comparable coverage reports over time using LLVM or gcovr. This measures code exercised during fuzzing, helping identify blockers and track harness improvements as targets evolve.