This course is about
logic and its application to 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
For more detailed course description and philosophy, please
click here.
Date/Time/Place: Wednesdays/5:30 PM-8:20 PM/EIT-3141
The lectures are available here.