CIS 842 Official course description

Specification and Verification of Reactive Systems (CIS 842)

Purpose:

The trend in modern software construction is toward concurrent and distributed systems. In addition, the amount of software in embedded systems such as micro-controllers in automobiles, aircraft, medical devices, military equipment, etc. is increasingly dramatically. Unfortunately, the inherent size and complexity of such systems prohibit classical validation techniques, such as testing and technical inspections, from providing high levels of assurance of reliability and correctness. This is an especially important issue in embedded systems, because embedded software must be extremely reliable before it is deployed since failures can mean loss of life and/or huge financial costs. Moreover, it is usually hard to update embedded software once it is deployed.

Although originally applied to hardware systems, finite-state verification (FSV) techniques such as model-checking are emerging as the front-runner in the race to automate high-quality assurance of software. In FSV, a computational system's behavior is modeled as a finite-state transition system (an automaton); properties to be verified are stated in a complementary formalism such as temporal logic formulas or finite state automata. Property verification is performed by mechanically enumerating all reachable states in the transition system and checking that the property holds at each state. Although this technique takes worst-case exponential time, it has been used nonetheless to validate crucial properties of on-board spacecraft controllers, network protocols, graphical user interfaces, railway interlocking systems, and industrial control systems.

In this course, we will study various model-checking techniques with the goal of applying those techniques to real concurrent software systems to address the problems described above. While we will study foundational issues related to explicit-state model-checking algorithms and abstraction, the emphasis will be on

Far from being removed from practice, software model-checking is being actively investigated and applied at a number of industrial and government research labs. In addition to model-checking tools developed at Kansas State, we will be discussing developed at Bell Labs (Spin,Verisoft), NASA Ames (JPF), and Microsoft Research (SLAM).

Schedule:

Lecture: Lectures will be held Tuesday and Thursday 9:30 - 10:45 in Nichols Hall 127. The schedule will be quite "flexible" -- meaning the classes may be cancelled frequently due to instructor travel or due to the course shifting into a more project-oriented mode.

Prerequisites:

Officially, CIS 771. Unofficially, significant Java programming experience and some basic knowledge of logic and software specifications.

Credits:

Instructors:

Marking Scheme:

The course homeworks and projects will focus on use and modification of the Bogor model-checker.

Grading Policy:

The course web-page will give the due dates for all of the homework. This is to facilitate your planning and time-management. Given this we expect assignments to be turned in on the due date unless prior arrangements have been made; late assignments receive the following penalties:

Grading scale:

Note: To receive a grade of A in the course, you must receive at least a B on the course project (to receive a B, you must get a C, etc.). Otherwise, your grade will be assigned at the discretion of the instructor.

Computer Access:

This course involves a significant amount of programming using Java and other software tools. All of these these can be accessed by you (for free) and installed on your own machine.

If you prefer, we have everything you need on our CIS department machines so you should can get an account on our machines. See the computing systems page for information on how to get an account and use our machines.

Attendance policy:

Faithful attendance to all lectures is strongly urged but not required. You are responsible for any material presented or referenced during lectures.

Other Administrative Issues

Some of these policies are also addressed by official statements from the KSU College of Engineering which will be considered a part of this syllabus


Maintained by John Hatcliff [HOME]