Related Readings, COMP 408 (Spring 1997)
These are some sample papers to give you a better feel for the area
covered by this course. The term "formal methods" refers to the broad
class of mathematical techniques for system design. Computeraided
verification is a subset of formal methods.
The following report gives a highlevel introduction to various formal
methods techniques. It provides numerous pointers into the literature
regarding both the foundations of and applications of the techniques.
These articles provide a highlevel introduction to general issues in
formal methods. They focus far less on particular techniques than the
previous report.

Ten Commandments of Formal Methods, J.P. Bowen and M.G. Hinchey.
Technical Report No. 350, University
of Cambridge Computer Laboratory, 18pp, September 1994.
Revised version in
IEEE
Computer,
28(4):5663, April 1995.

Seven More Myths of Formal Methods, J.P. Bowen and M.G. Hinchey.
University of Cambridge
Computer Laboratory Technical Report 357, 12pp, January 1995.
Revised version in
IEEE Software,
12(4):3441, July 1995.
Introductory "howto" articles, providing hints for people getting
started with using formal methods.

Hints to Specifiers, Jeannette M. Wing, CMUCS95118R, May 1995.
Revision of the paper, ``Teaching Mathematics to Software Engineers,''
Proceedings of AMAST'95, July 1995.
Articles on the mathematical foundations of certain techniques:
 E. M. Clarke, E. A. Emerson and A. P. Sistla. Automatic
verification of finitestate concurrent systems using temporal logic
specifications. In ACM Transactions on Programming Languages and
Systems, 8(2):244263, 1986.
 J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and
J. Hwang. Symbolic model checking: 10E20 states and beyond. In LICS
(Proceedings of Logic and Computer Science), 1990.
 M. Gordon. HOL: A proofgenerating system for higherorder
logic. In VLSI Specification, Verification, and Synthesis. Kluwer
Academic Publishers, 1987.