This post is part of the Input Coverage > Code Coverage series.
Keep it boring.
process(data: &[u8]).cargo-fuzz).cargo-afl).fuzz and afl.Skeleton:
your-crate/
src/lib.rs
tests/prop.rs
fuzz/fuzz_targets/target.rs
fuzz-afl/src/main.rs
Makefile
scripts/afl.sh
process is the only place to exercise logic. All harnesses import it.
Short runs locally. Long runs in CI if you must. Store crash inputs as tests.