coverage-analysis
coverage-analysis
Catalogue généré le 2026-05-11
En une phrase
CoverageL'analyse analysisde measurescouverture mesure quelles lignes de ton code exercisedont duringvraiment fuzzing.été exécutées par les tests/fuzzers — pour repérer les "zones aveugles" que personne ne teste.
Quand l'utiliser
UseÉvaluerwhensiassessingune campagne de fuzzing visite vraiment le code intéressant (ou bloque ailleurs).
Comment l'invoquer
- Slash command :
/coverage-analysis(si exposé dans ton CLI) - Phrases déclencheurs (texte) :
voir"codelacoverage",description"fuzzingcomplètecoverage",ci-dessous"harness effectiveness" - Auto-invocation :
surSur demande explicite
Description complètedétaillée
CoverageLa analysiscouverture measuresde code, c'est l'art de répondre à la question : "quelles lignes/branches de mon code exercisedsont duringvraiment fuzzing.exécutées Usequand whenje assessinglance mes tests ?". On instrumente le code à la compilation (avec -fprofile-instr-generate par exemple), on le lance avec ses tests/fuzzers, et on en sort un rapport qui te montre en vert les lignes visitées et en rouge celles jamais touchées.
En fuzzing, c'est doublement utile. D'abord pour évaluer ton harness effectiveness: orsi identifyingaprès plusieurs heures de fuzzing blockers.tu n'as couvert que 30 % du code de ta cible, c'est probablement que ton harness est mal pensé ou qu'un obstacle (checksum, validation) bloque tout. Ensuite pour suivre les progrès : tu modifies le harness, tu rajoutes un dictionnaire, tu changes de fuzzer, et la couverture te dit immédiatement si ça aide ou pas.
La couverture n'est pas un indicateur parfait de la qualité du fuzzing (un mauvais fuzzer peut atteindre une bonne couverture sans trouver de bugs), mais c'est le meilleur indicateur disponible et facile à mesurer. Les outils classiques : llvm-cov (pour le code compilé avec Clang), gcov (pour GCC), lcov pour générer des rapports HTML, et des plateformes comme Codecov pour suivre la couverture dans le temps. À utiliser systématiquement quand on prend le fuzzing au sérieux.
Pour aller plus loin
Coverage
Pour Analysisles
Coverageexemples analysisconcrets, isoptions essentialde forconfiguration understandinget whichpatterns parts of your code are exercised during fuzzing. It helps identify fuzzing blockers like magic value checks and tracks the effectiveness of harness improvements over time.
Overview
Code coverage during fuzzing serves two critical purposes:
Coverage is a proxy for fuzzer capability and performance. While coverage is not ideal for measuring fuzzer performance in absolute terms, it reliably indicates whether your harness works effectively in a given setup.
Key Concepts
(extrait —avancés, voir le SKILL.md complet pour la suite)original.
Source
- Plugin :
trailofbits/testing-handbook-skills - Nom interne :
coverage-analysis - Fichier :
/home/thymon/.claude/plugins/cache/trailofbits/testing-handbook-skills/1.0.1/skills/coverage-analysis/SKILL.md