Summary

  • Introduction to Fuzzing

  • Coverage-guided Fuzzing

    • go-fuzz, libfuzzer,  testing/fuzz

  • Fuzz testing workflow

    • Corpus/inputs collection, Code coverage, Corpus minimization

  • Crashes Analysis

    • Bucketing, Crashes minimization, Debugging, Root cause analysis

  • Generation-based fuzzing

    • Grammar-based & Structure-aware Fuzzing

  • Advanced testing techniques

    • Property-based testing, Concolic Testing

    • Differential fuzzing / Writing custom fuzzers