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
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):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
IEEE Software,
12(4):34-41, July 1995.
Introductory "how-to" articles, providing hints for people getting
started with using formal methods.
-
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.
Articles on the mathematical foundations of certain techniques:
- 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.