CIS 573: Computer-Aided Verification, Fall 1997


Instructor: Rajeev Alur ( alur@cis)

Class: Mon Wed 3-4.30, Towne 303

Office hours: Tues 1-3, Moore 276, and 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 digital 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.

Prerequisites

The course requires basic knowledge of algorithms, data structures, automata theory, and propositional(boolean) logic (CSE 262, or equivalent). Knowledge of operating systems, communication protocols, and hardware (CSE 380) is useful. Besides graduate and advanced undergraduate CSE students, EE students interested in design automation, and Math students interested in applications of logic to computer science are welcome. 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

Software

We will use the following two software tools (installed on gradient) A variety of Click other tools support computer-aided verification.

Reading

The course will use the draft of a forthcoming textbook titled Computer-aided verification by Alur & Henzinger.

The article "Computer-aided verification", E.M. Clarke and R.P. Kurshan, IEEE Spectrum, 1996, provides an overview of the state of the art.

Following books are on reserve in Engineering Library for additional reading


Grading

There will be periodic homework assignments consisting of theoretical problems and experimentation with SPIN and SMV.

There will be no exams.

The major component of the evaluation will be the class project. The project can be done in groups of two or three, and will require a presentation in the final week. Projects can be of various forms:


Tentative Schedule


Last updated on October 27, 1997.