moodmosaic

Input Coverage > Code Coverage (Series Index)

A short, opinionated series on why expert TDD and property tests still miss bugs, and how libFuzzer and AFL++ raise input coverage without a lot of ceremony.

Table of contents

  1. The Case For Input Coverage
  2. Property Tests Are Not A Fuzzer
  3. Minimal Fuzzing Without The Pain
  4. Enterprise Case 1: Money Parser, Unicode Minus
  5. Fuzzing The Money Parser With libFuzzer
  6. Enterprise Case 2: CSV Import CLI, Unbounded Header
  7. Fuzzing The CSV CLI With AFL++
  8. Panics Are Not Crashes
  9. One Function To Fuzz Them All
  10. From Crash To Test
  11. Arbitrary Models vs Raw Bytes
  12. Mocking I/O To Go Faster
  13. CI, Seeds, And Corpora Hygiene
  14. AFL++, Original AFL, And When To Care
  15. Appendix: Varint Shift Bug
  16. Appendix: Commands, Flags, And Gotchas
  17. Wrap-Up: An Input Coverage Playbook