This course is about
logic, computer-aided reasoning tools such as SAT/SMT solvers, and their applications to security and software engineering.
Briefly, the course will
cover the following topics:
- Logic & complexity theory basics:
Propositional logic, first-order theories (linear integer and reals,
arrays, functions,...), reductions, complexity classes...
- Solvers: Conflict-drive clause-learning SAT solvers, SMT solvers, theorem provers or proof assistants (time permitting)
- Applications: Symbolic execution, automated testing, formal methods, program analysis
Course Description
Date/Time/Place: Wednesdays/5:30 PM-8:20 PM/EIT-3151
The lectures are available here.