CIS 673: Computer-Aided Verification, Fall 2006


Instructor: Rajeev Alur ( alur@cis)

Class: Mon Wed 10.30--12.00, Towne 303

Office hours: by appointment


Introduction

How can a designer check that the system (s)he has designed works correctly? Can an airline control system fail in a critical way when a piece of hardware fails? Will a cache coherence protocol continue to work correctly when an extra processor is added? Today, designers attempt to answer such questions using simulation over selected sample cases. As reactive systems become more complex and pervasive, simulation-based techniques are not sufficient to assure desired reliability. Model checking and related computer-aided verification techniques are emerging as practical alternatives to simulation for debugging complex systems. These methods allow the designer to verify that a mathematical model of a system satisfies its abstract logical specification. This approach has been most effective in analysis of control-intensive hardware components, and is rapidly becoming an integral part of the design cycle in companies like Intel and Microsoft.

Prerequisites

The course requires basic knowledge of algorithms, data structures, automata theory, computational complexity, and propositional logic (CIS 502, CIS 511, or equivalent). Knowledge of operating systems, communication protocols, and hardware is useful. The course requires mathematical maturity, and is appropriate for graduate students who wish to pursue research in formal methods or related areas. If you need more information to decide, contact the instructor.

Overview

The course introduces the theory and practice of formal methods for the design and analysis of concurrent and embedded systems. The emphasis is on the underlying logical and automata-theoretic concepts, the algorithmic solutions, and heuristics to cope with the high computational complexity. Topics include

Model Checking Tools


Reading

The course will use the draft of a textbook titled Computer-aided verification by Alur & Henzinger, 1999. Following books are recommended for additional reading

Grading

There will be periodic homework assignments consisting of theoretical problems and experimentation with model checking tools. There will be no exams. A key component of the evaluation will be the class project.

Tentative Schedule


Lectures


Last updated on September 6, 2006 by Rajeev Alur