Generating Software Tests Winter 2019/2020

The course is taught along with Prof. Dr. Andreas Zeller, and covers the following topics

  • Introduction to the course; Introduction to software testing; Introduction to fuzzing
  • Code Coverage; Mutation-based fuzzing
  • Greybox fuzzing
  • Fuzzing with Grammars; Efficient Grammar Fuzzing
  • Parsing input grammars (usage only); Greybox fuzzing with grammars
  • Probabilistic Grammar Fuzzing
  • Fuzzing with Generators; Grammar Coverage
  • Mining Input Grammars
  • Tracking information Flow; Concolic Fuzzing
  • Symbolic Fuzzing
  • Fuzzing Configurations; Fuzzing APIs
  • Testing Web Applications; Testing Graphical User Interfaces
  • Reducing Failure-Inducing Inputs
  • When to Stop Fuzzing
  • Current Trends in Fuzzing Research