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. Computer-aided
verification is a subset of formal methods.
The following report gives a high-level 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 high-level introduction to general issues in
formal methods. They focus far less on particular techniques than the
Introductory "how-to" articles, providing hints for people getting
started with using formal methods.
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
28(4):56-63, 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
12(4):34-41, July 1995.
Articles on the mathematical foundations of certain techniques:
Hints to Specifiers, Jeannette M. Wing, CMU-CS-95-118R, May 1995.
Revision of the paper, ``Teaching Mathematics to Software Engineers,''
Proceedings of AMAST'95, July 1995.
- E. M. Clarke, E. A. Emerson and A. P. Sistla. Automatic
verification of finite-state concurrent systems using temporal logic
specifications. In ACM Transactions on Programming Languages and
Systems, 8(2):244--263, 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 proof-generating system for higher-order
logic. In VLSI Specification, Verification, and Synthesis. Kluwer
Academic Publishers, 1987.