Wei Le (weile@iastate.edu), Atanasoff 210
Office hours: 3-5pm Fridays
week 1: syllabus, survey assignment, finding bugs (everything about bugs)
weeks 2-4: finding bugs (control flow graphs, dataflow analysis, pointer analysis, interprocedural analysis)
weeks 5-6: automatic test input generation (symbolic execution, fuzzing)
weeks 7-8: debugging and fault localization (dependency analysis, slicing, delta-debugging)
week 9: homework recap, midterm catchup
weeks 10-11: analyzing software changes and versions (mvicfg, differential analysis, testing and debugging changes, change contract)
weeks 12-13: specification inference (dynamic analysis, invariants, precondition, postcondition, typestate)
weeks 14-15: advanced topics: big code analysis, certifying and analyzing AI software (abstract intepretation), program repair and synthesis
This course is developed under the support of the National Science Foundation (NSF) under Award 1542117