CISC 403/603: Software Verification: Fall 2009

Description:

Verification is one of the most essential tasks in any engineering endeavor. The goal of software verification is to show that a computer program meets its specification. This class focuses on formal approaches to this problem, such as temporal logic specification and model checking, symbolic execution, and static analysis. In addition to learning the theoretical foundations of these techniques, students will gain practical experience using state-of-the-art verification tools.

This year, the course will focus primarily on Model Checking.

Fundamentals:

Instructor
Stephen F. Siegel, email: mylastname@cis.udel.edu, phone: 302-831-0083
Office and Office Hours
Smith 432, TBA
Class meetings
5:00-6:15 PM, Mon/Wed starting Sep. 2, 2009
Required Text
Principles of Model Checking, by Christel Baier and Joost-Pieter Katoen, MIT Press, 2008
Additional Recommended Texts
Model Checking, by Edmund M. Clarke, Orna Grumberg and Doron A. Peled, MIT Press, 2000
The Spin Model Checker: Primer and Reference Manual, by Gerard J. Holzmann, Addison-Wesley, 2003
Course web page
http://vsl.cis.udel.edu/603

Syllabus:

The course will follow the Baier & Katoen textbook closely. We will aim to cover most of the topics in the first 6 chapters. In addition we will study and use the Spin model checker. Readings will be assigned in advance and students are expected to complete the reading assignments by the specified dates so that they will be in a better position to understand the lectures and participate in class discussions.

The topics are as follows (the number in parentheses is the approximate number of course days allocated for that topic):

  1. Introduction and System Verification (1)
  2. Modeling Concurrent Systems (5)
  3. Linear-Time Properties (5)
  4. Regular Properties (5)
  5. Linear Temporal Logic (5)
  6. Computation Tree Logic (7)

Assessment:

There will be 5 or 6 problem sets (60% of grade), an in-class midterm (15%), and a final exam during finals week (20%). Class participation will also be taken into consideration (5%). Students registered for 603 (honors undergraduate students and graduate students) will have a few additional problems to complete on the problem sets.

Academic honesty:

You are encouraged to work with your classmates on the problem sets, but what you submit must be your own work. While I realize this does not define the border between right and wrong perfectly, there are some actions that clearly fall on the wrong side, such as simply copying someone else's solution to a problem or copying a solution found on the Internet. Contact me at any time if you have questions about this policy. You may use resources such as books, articles, and Internet sources, as long as you cite every resource used in your solutions. You cannot discuss the problem sets with anyone outside the class without getting permission from me first. The exams are closed book and cheating in any way will not be tolerated and will result in disciplinary action.

Attendance and Punctuality:

I understand that everyone has to miss a class or arrive late now and then. However, repeat offenders will be assigned additional homework and have the problem set component of their grade adjusted accordingly. Attendance and punctuality will also be factors in the class participation component of the grade.