Abstract
This paper describes the formal verification of parallel programs using a rewrite and induction based theorem prover like LP and a higher order theorem prover based on the Calculus of Inductive Construction, namely Coq. The chosen specification environment is UNITY, a subset of temporal logic for specifying and verifying concurrent programs. By means of an example, a lift-control program, we describe the embedding Of UNITY and we show how to verify mechanically program properties using the two provers. Then we summarize a comparison between the theorem proving environments, based on our practical experience with both systems for the verification of UNITY programs.
Preview
Unable to display preview. Download preview PDF.
References
F. Andersen. A theorem Proyer for UNITY in Higher Order Logic. PhD thesis, Technical University of Denmark, 1992.
F. Andersen, K.D. Petersen, and J.S. Pettersson. Program verification using HOL-Unity. In J.J. Joyce and C.H. Seger, editors, Proceedings sixth International Workshop on Higher Order Logic theorem proving and its applications, volume 780 of Lecture Notes in Computer Science, pages 1–15, Vancouver, Canada, August 1993. Springer-Verlag.
D Bolignano. Towards a Mechanization of Cryptographic Protocol Verification. In Conference On Computer-Aided Verification, Haifa, Israël, Jun 1997. Springer-Verlag.
N. Brown and D. Merl A proof environment for concurrent programs. In In Proceedings FME'93 Symposium, volume 670 of Lecture Notes in Computer Science. Springer-Verlag, 1993.
K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988. ISBN 0-201-05866-9.
B. Chetali. Vérification Formelle des Systèmes Parallèles décrits en UNITY á l'aide d'un outil de Démonstration Automatique. PhD thesis, Université Henri Poincaré, Nancy l., May 1996.
B. Chetali and P. Lescanne. An exercise in LP: The proof of the non restoring division circuit. In U. Martin and J.M. Wing, editors, Proceedings First International Workshop on Larch, volume 780 of Workshops in Computing, pages 55–68, Dedbam, Boston, August 1992. Springer-Verlag.
B. Chetali and P. Lescarme. Formal verification of a protocol for communications over faulty channels. In Proc., of the 8th International Conference on Formal Description Techniques for Distributed Systems and Communications Protocols (FORTE'95), Montréal, Quebec, Canada, October 1995. IFIP.
Projet Coq. The coq proof assistant (version 6.1). Reference Manual, 1996
S Coupet-Grimai and L Jakubiec. Coq and Hardward Verification: A Case Study. In J von Wright, J Grundy, and J Harrison, editors, Theorem Proving In Higher Order Logics, volume 1125 of Lecture Notes in Computer Science, pages 125–139, Turku, Finland, August 1996. Springer-Verlag.
P Crégut. Omega: A solver of quantifier-free problems in presburger arithmetic. Supplied in the contrib directory of Coq V6.1, 1996.
E. W. Dijkstra and C. S. Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, 1989.
D. Doligez and G. Gonthier. Portable, unobtrusive garbage collection for multiprocessor systems. In POPL'94. ACM, 1994.
S. V. Garland and J. V. Guttag. A guide to LP, the Larch prover. Technical Report 82, Digital Systems Research Center, 130 Lytton Ave., Palo Alto, CA 94301, USA., 1991.
E. Giménez. A Calculus of Infinite Constructions and its application to the verification of communicating systems. PhD thesis, Ecole Normale Supérieure de Lyon, 1996.
D. M. Goldschlag. Mechanically verifying concurrent programs with the Boyer-Moore Prover. IEEE Transactions on Software Engineering, 16(9):1005–1022, September 1990.
J. V. Guttag, J.J. Horning, S.J Garland, K.D. Jones, A. Modet, and J. M. Wing. Larch: Languages and Tools for Formal Specification. Springer-Verlag, 1993.
B Heyd and P. Crégut. A modular coding of Unity in Coq. In J von Wright, J Grundy, and J Harrison, editors, Theorem Proving in Higher Order Logic, volume 1125 of Lecture Notes in Computer Science, pages 251–266, Turku, Finland, August 1996. Springer-Verlag.
L. Lamport. Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering, 3(2):125–143, 1977.
L. Lamport and S. Owicki. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, may 1994.
Victor Luchangco, Ekrem Séylemez, Stephen Garland, and Nancy Lynch. Verifying timing properties of concurrent algorithms. In FORTE'94: Seventh International Conference on Formal Description Techniques, Berne, Switzerland, October 4–7 1994. Chapman and Hall.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems, Specification. Springer-Verlag, 1991.
N. Mellergaard and J. Staunstrup. Generating proof obligations for circuits. In Ursula Martin and Jeannette M. Wing, editors, First International Workshop on Larch, pages 185–199. Springer-Verlag, July 1992.
J. Misra. A logic for concurrent programming. unpublished manuscripts, 1994.
S. Owre, J. Rushby, N. Shankar, and F. von Henke. Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2), February 1995.
C Paulin-Mohring. Circuits as Streams in Coq: Verification of a Sequential Multiplier. Basic Research Actions “Types”, 1995.
I.S.W.B. Prasetya. Error in the UNITY Substitution Rule for Subscripted Operators(Short Communication). 6(4):466–470, 1994.
B. A. Sanders. Eliminating the substitution axiom from UNITY logic. Formal Aspects of Computing, 3:189–205, 1991.
B Werner. Une théorie des constructions inductives. PhD thesis, Université Paris 7, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chetali, B., Heyd, B. (1997). Formal verification of concurrent programs in Lp and in Coq: A comparative analysis. In: Gunter, E.L., Felty, A. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1997. Lecture Notes in Computer Science, vol 1275. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0028386
Download citation
DOI: https://doi.org/10.1007/BFb0028386
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63379-2
Online ISBN: 978-3-540-69526-4
eBook Packages: Springer Book Archive