15-818A3 Proving Program Termination (6 units) Spring 2008

Byron Cook

First Half of Spring Semester 2008

University Units: 6 (minicourse)

Time: MW 10:30-11:50 WeH 4615A

Course Description

Title: Proving Program Termination

Course Description:

Liveness properties are used to specify the good things that we want
software to do. Examples include "This program should always
eventually terminate", or "if a lock is acquired, it should always
eventually be released". Recent advances now allow us to
automatically prove liveness properties like these of infinite-state
systems. This course will survey the current developments. Topics
will include rank-function synthesis, disjunctive well-foundedness and
refinement, fairness constraints, concurrency, and the support for
programs with dynamically allocated data structures.

PREREQUISITES: Some knowledge of logic and programming.

TEXTS: Papers and notes to be distributed in class.

METHOD OF EVALUATION: Grading will be based on homework.