Computer-Aided Reasoning for Software

CSE 507 course is a graduate level introduction to automated reasoning techniques and their application in tools for the design, analysis, and construction of software. In the first half of the course, we will survey the logical foundations and algorithms behind SAT solvers, SMT solvers, and finite model finders. In the second half of the course, we will apply these techniques to automatic bug finding, program verification, and program synthesis. As a student in this course, you will learn how solvers work, and how to use them to build cool programming tools!

Meetings and Staff

Lectures Wednesday and Friday, 9:30–10:50, CSE 403
Instructor Emina Torlak
  Office hours: Friday 11:00–12:00, CSE 596
TA James Bornholt
  Office hours: Wednesday 11:00–12:00, CSE 218
Contact cse507-staff@cs


Mailing List Class mailing list.
Dropbox Assignment dropbox.
Gradebook Course grade database.
Feedback Contact the instructor anonymously.