Skip over navigation

Course Offerings

Course Details

Spring 2010-2011
ELE 580 / COS 580  

Advanced Topics in Computer Engineering - Automated Software Verification: Software Model Checking

Georg Weissenbacher

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

Other Requirements:
Not Open to Freshmen.

Other information:
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.

Website:  http://Blackboard.princeton.edu

Schedule/Classroom assignment:

Class numberSectionTimeDaysRoomEnrollmentStatus
44116 L01 3:00 pm - 4:20 pm M W   Friend Center   108   Enrolled:16 Limit:30