PROGRAM VERIFICATION
Instructor:
Nachum Dershowitz
Textbook:
Topics and Readings:
-
Background
-
Text,
Chapter 1 and 2
-
Invariants
-
Chapter 3
-
Nondeterminism and Concurrency
-
Chapters 4, 5
-
Termination
-
Term
Rewriting and All That, Chap. 5 (on reserve in library)
-
Rewriting,
Sect. 4
-
Temporal Logic and Automata
-
Automated Verification
Notes, Vardi
-
Automata
and Temporal Logic, Vardi (PDF
download)
-
Temporal
and Model Logic, Emerson (PDF
download)
-
Fairness, Chap. 9 [not covered]
Handouts:
This
page
-
Binary
Search Exercise
-
Tree Program
-
Termination
Problem
-
Concurrent
Search Program
-
Mystery
Program
-
Inference
Rules
-
"Column 4: Writing Correct Programs", J. Bentley, Programming Pearls,
Addison-Wesley, 1986.
-
"An Early Program Proof by Alan Turing", F. L. Morris and C. B. Jones,
Annals
of the History of Computing, vol. 6, no. 2 (Apr. 1984), pp. 139-143.
-
Disjoint
Find Program
-
Proof of a program: FIND. C. A. R. Hoare
-
On-the-fly garbage collection proof, D. Gries
-
Ackermann's
function
-
Path Orderings
-
["The Schorr-Waite Graph Marking Algorithm", D. Gries, Acta Informatica,
vol. 11, pp. 223-232 (1979).]
Homeworks:
-
Find invariants
for Find
-
Concurrent
Search
-
Ackermann's
function
-
Prove protocol properties using
STeP
Links: