Abstract
The verification methodology studied in this paper stems from investigations on respectively deduction-based model checking and semantics of concurrency. Specifically, we consider imperative programs with CSP-like communication and use a categorical semantics as foundation to extract from a program a control graph labelled by transition predicates. This logical content acts as system description for a deduction-based model checker of LTL properties. We illustrate our methodology with a concrete realisation in the form of the Mc5 verification tool written in Ocaml and using the theorem prover PVS as back-end.
Research done while both authors were members of the Computer Networking Laboratory of the Swiss Federal Institute of Technology in Lausanne, Switzerland
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bhat, G., Cleaveland, R., and Grumberg, O. (1995). Efficient on-the-fly model checking for CTL. In Logic in Computer Science, LICS 95, pages 388–397.
Bjørner, Nikolaj S., Browne, Anca, and Manna, Zohar (1997). Automatic generation of invariants and intermediate assertions. Theoretical Computer Science, 173 (1): 49–87.
Browne, I. A., Manna, Z., and Sipma, H. B. (1995). Generalized temporal verification diagrams. In Foundations of Software Technology and Theoretical Computer Science, FSTTCS ‘95, Bangalore, India,volume 1026 of Lecture Notes in Computer Science,pages 484–498. Springer-Verlag.
Clarke, Edmund M., Grumberg, Orna, and Peled, Doron (1999). Model Checking. The MIT Press.
Croie, Roy L. (1993). Categories for Types. Cambridge University Press. daVinci (2001). daVinci home page. http://www.tzi.de/daVinci. University of Bremen, Germany.
Errington, Lindsay (1999a). On the semantics of message passing processes. In Proceedings of CTCS99.
Errington, Lindsay (1999b). Twisted Systems. PhD thesis, Department of Computing, Imperial College, London.
Goguen, J.A., Thatcher, J.W., Wagner, E.G., and Wright, J.B. (1977). Initial algebra semantics and continuous algebras. Journal of the ACM, 24: 68–95.
Hoare, C. A. R. (1985). Communicating Sequential Processes. Prentice Hall International Series on Computer Science. Prentice-Hall.
Hoare, C.A.R. (1969). An axiomatic basis for computer programming. Communications of the ACM, 12 (10).
Mac Lane, Saunders (1971). Categories for the Working Mathematician. Springer.
Manna, Zohar, Browne, Anca, Sipma, Henny B., and Uribe, Tomas E. (1998). Visual abstractions for temporal verification. In AMAST ‘98,volume 1548 of Lecture Notes in Computer Science,pages 28–41. Springer-Verlag.
Manna, Zohar and Pnueli, Amir (1992). The Temporal Logic of Reactive and Concurrent Systems. Springer Verlag.
Milner, Robin (1990). Operational and algebraic semantics of concurrent processes. In van Leeuwen, Jan, editor, Handbook of Theoretical Computer Science,volume B: Formal Models and Semantics, chapter 1202–1242. Elsevier Science Publishers.
Ocaml (2000). The Objective Caml system, release 3.00. INRIA.
Owre, S., Rajan, S., Rushby, J.M., Shankar, N., and Srivas, M.K. (1996). PVS: Combining specification, proof checking, and model checking. In Alur, Rajeev and Henzinger, Thomas A., editors, Computer-Aided Verification, CAV ‘96, volume 1102 of Lecture Notes in Computer Science, pages 411–414, New Brunswick, NJ. Springer-Verlag.
Owre, Sam, Rushby, John, Shankar, Natarajan, and von Henke, Friedrich (1995).
Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering,21(2):107–125.
Sipma, Henny, Uribe, Tomas E., and Manna, Zohar (1999). Deductive model checking. Formal Methods in System Design, 15: 49–74.
Sprenger, Christoph (2000). Deductive Local Model Checking — On the Verification of CTL Properties of Reactive Systems. Ph.D. Thesis no. 2215, Department of Computer Science, Swiss Federal Institute of Technology, Lausanne, Switzerland.
Thomas, W. (1990). Automata on infinite objects. In van Leeuwen, J., editor, Handbook of Theoretical Computer Science, volume B, pages 133–191. Elsevier Science Publishers, Amsterdam.
Worytkiewicz, Krzysztof (2000). Components and Synchronous Communication in Categories of Processes. Ph.D. Thesis no. 2131, Department of Computer Science, Swiss Federal Institute of Technology, Lausanne, Switzerland.
Worytkiewicz, Krzysztof (2002). Concrete process categories. In Kurz, Alexander, editor, Electronic Notes in Theoretical Computer Science,volume 68. Elsevier Science Publishers.
Worytkiewicz, Krzysztof (2003). Paths and simulations. In Richard Blute, Philipp Scott and Selinger, Peter, editors, Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers. To appear.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Sprenger, C., Worytkiewicz, K. (2004). A Verification Methodology for Concurrent Software with Synchronous Communication. In: Gupta, R., Guernic, P.L., Shukla, S.K., Talpin, JP. (eds) Formal Methods and Models for System Design. Springer, Boston, MA. https://doi.org/10.1007/978-1-4020-8052-4_6
Download citation
DOI: https://doi.org/10.1007/978-1-4020-8052-4_6
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-5464-0
Online ISBN: 978-1-4020-8052-4
eBook Packages: Springer Book Archive