ELE 580 / COS 580
Advanced Topics in Computer Engineering - Automated Software Verification: Software Model Checking
This course covers contemporary automated verification techniques for software. The focus is on the underlying techniques and algorithms rather than on using verification tools. The course is divided into two main parts: One covering model checking for finite state models (e.g., manual abstractions or UML state-charts), and a second part that shows how these techniques can be applied to infinite state programs by means of abstraction.
Sample reading list:
Daniel Kroening, Ofer Strichman, Decision Procedures - An Algorithmic Point of View
Edmund Clarke, Orna Grumberg, Doron Peled, Model Checking
Ranjit Jhala, Rupak Majumdar, Software model checking
Not Open to Freshmen.
Students are expected to read the research papers (typically 15-20 pages per week) listed on the course website before class. The practical part consists of 3-4 short assignments and one research project, which will be split up into several incremental tasks. Grading is based on class participation and project work. Slides and links to papers covering the presented material will be provided, there is no need to buy books.
|44116||L01||3:00 pm - 4:20 pm||M W||Friend Center 108||Enrolled:16 Limit:30|