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.