Abstract
We present a formal verification method for concurrent systems. The technique is to show a correspondence between state machines representing an implementation and specification behavior. The correspondence is called asimulation relation, and is particularly well suited for theorem provers. Since the method does not rely on enumerating all the states, it can be applied to systems with an infinite or unknown number of states. The method is illustrated by proving the correctness of a particularly subtle example that is likely to be of increasing importance: a directory based multiprocessor cache protocol. The proof is carried out using the HOL (higher-order logic) theorem prover.
Similar content being viewed by others
References
Avra. J.Cohn. A proof of correctness of the Viper microprocessor: The first level. InVLSI Specification, Verification and Synthesis, G.Birtwistle and P.A.Subrahmanyam (eds.). Kluwer Academic Publishers, Boston, 1988.
AvraCohn. Correctness properties of the Viper block model: The second level. InCurrent Trends in Hardware Verification and Automated Theorem Proving, G.Birtwistle and P.A.Subrahmanyam (eds.). Springer-Verlag, New York, 1989, pp. 1–91.
W.A.HuntJr. The mechanical verification of a microprocessor design. InHDL Descriptions to Guaranteed Correct Circuit Designs, D.Borrione (ed.) North Holland, Amsterdam, 1987.
PaliathNarendran and JonathanStillman. Formal verification of the sobel image processing chip. InCurrent Trends in Hardware Verification and Automated Theorem Proving, G.Birtwistle and P.A.Subrahmanyam (eds.). Springer-Verlag, New York, 1989.
MartinAbadi and LeslieLamport. The existence of refinement mappings.Theoretical Computer Science, 82(2):253–284, May 1991.
Simon S.Lam and A. UdayaShankar. Protocol verification via projections.IEEE Transactions on Software Engineering, SE-10(2):137–151, July 1984.
Nancy A. Lynch and Mark R. Tuttle. Hierarchical correctness proofs for distributed algorithms. Technical Report TR-387, MIT Laboratory for Computer Science, 1987.
R. P. Kurshan. Analysis of discrete event coordination. InStepwise Refinement of Distributed Systems, J.W. de Bakker, W.P. De Roever, and G. Rozenberg, (eds.).Lecture Notes in Computer Science, 430:1990.
R. Milner. An algebraic definition of simulation between programs. InProceedings 2nd International Joint Conference on Artificial Intelligence, 1971.
Nils Klarlund and Fred B. Schneider. Verifying safety properties using non-deterministic infinitestate automata. Technical Report TR 89-1037, Cornell University Computer Science Department, 1989.
A.P. Sistla. A complete proof system for proving correctness of non-deterministic safety specifications. Technical Report TC-0060-8-89-378, GTE Laboratories, 1989.
Tobias Nipkow. Formal verification of data type refinement. InStepwise Refinement of Distributed Systems, J.W. de Bakker, W.P. De Roever, and G. Rozenberg, (eds.).Lecture Notes in Computer Science, 430:1990.
Michael C.Browne, Edmund M.Clarke, David L.Dill, and BudMishra. Automatic verification of sequential circuits using temporal logic.IEEE Transactions on Computers, C-35(12):1035–1044, December 1986.
MasahirioFujita, HedehikoTanaka, and TohruMoto-oka. Verification with prolog and temporal logic. InIFIP Sixth Computer Hardware Description Languages and their Applications, T.Uehara and M.Barbacci, (eds.) North Holland Publishing Company, Amsterdam, 1983.
David L.Dill.Trace Theory for Automatic Hierarchical Verification of Speed-independent Circuits. MIT Press, Cambridge, MA, 1989.
Mike Gordon. HOL: A machine oriented formulation of higher-order logic. Technical Report 68, University of Cambridge Computer Laboratory, 1985.
MikeGordon. HOL: A proof generating system for higher-order logic. InVLSI Specification, Verification and Synthesis, G.Birtwistle and P. A.Subrahmanyam (eds.). Kluwer Academic Publishers, Boston, 1988.
Konrad Slind. An implementation of higher order logic. Research Report 91/419/03, University of Calgary, January 1991.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Loewesstein, P.N., Dill, D.L. Verification of a multiprocessor cache protocol using simulation relations and higher-order logic. Form Method Syst Des 1, 355–383 (1992). https://doi.org/10.1007/BF00709156
Issue Date:
DOI: https://doi.org/10.1007/BF00709156