Abstract
We present an approach to software model checking based on game semantics and the CSP process algebra. Open program fragments (i.e. terms-in-context) are compositionally modelled as CSP processes which represent their game semantics. This translation is performed by a prototype compiler. Observational equivalence and regular properties are checked by traces refinement using the FDR tool. We also present theorems for parameterised verification of polymorphic terms and properties. The effectiveness of the approach is evaluated on several examples.
Similar content being viewed by others
References
Abramsky S.(1997). Semantics of interaction. In: Dybjer P., Pitts A. (eds) Semantics and Logics of Computation. University Press, Cambridge
Abramsky, S., McCusker, G.: Linearity, sharing and state: a fully abstract game semantics for Idealized Algol with active expressions. In: O’Hearn, P.W., Tennent, R.D. (eds.) Algol-like languages. Birkhäuser (1997)
Abramsky, S.: Algorithmic game semantics: a tutorial introduction. Lecture notes, Marktoberdorf International Summer School (2001)
Abramsky, S., Ghica, D., Murawski, A., Ong, C.-H.L.: Applying game semantics to compositional software modeling and verifications. In: Proceedings of TACAS, LNCS vol. 2988, pp. 421–435 (2004)
Appel, A.W., Palsberg, J.: Modern Compiler Implementation in Java, 2nd edn. Cambridge University Press (2002)
Ball, T., Rajamani, S.K.: The SLAM project debugging system software via static analysis. In: Proceedings of POPL, ACM SIGPLAN Notices, vol. 37(1), pp.~1–3 (2002)
Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Proceedings of Logic of Programs Workshop, LNCS vol.131, pp.~52–71 (1981)
Clarke E.M., Grumberg O., Peled D.(2000): Model Checking. MIT Press, Cambridge
Dimovski, A., Ghica, D., Lazić, R.: Data-abstraction refinement: a game semantic approach. In: Proceedings of SAS, LNCS vol.~3672, pp.~102–117 (2005)
Formal Systems (Europe) Ltd, Failures-Divergence Refinement: FDR2 Manual (2000)
Ghica D., McCusker G. (2003): The regular-language semantics of second-order idealized Algol. Theor. Comput. Sci. 309(1–3): 469–502
Ghica, D., Murawski, A., Ong, C.-H.L.: Syntactic Control of Concurrency. In: Proceedings of ICALP, LNCS vol. 3142, pp.~683–694 (2004)
Hoare C.A.R.(1985): Communicating Sequential Processes. Prentice Hall, Englewood Cliffs
Hyland J.M.E., Ong C.-H.L.(2000): On full abstraction for PCF: I, II and III. Inform. Comput. 163: 285–400
Laird, J.: A Semantic Analysis of Control. PhD thesis, University of Edinburgh (1998)
Lazić, R.: A Semantic Study of Data Independence with Applications to Model Checking. DPhil thesis, Computing Laboratory, Oxford University (1999)
Murawski, A., Walukiewicz, I.: Third-order Idealized Algol with iteration is decidable. In: Proceedings of FoSSaCS, LNCS vol. 3411, 202–218 (2004)
Quielle, J.P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In: Proceedings of the 5th International Symposium on Programming, pp.~337–351 (1982)
Reynolds, J.C.: The essence of Algol. In: Proceedings of ISAL, 345–372 (1981)
Roscoe, A.W., Gardiner, P.H.B., Goldsmith, M.H., Hulance, J.R., Jackson, D.M., Scattergood, J.B.: Hierarchical compression for model-checking CSP or how to check 1020 dining philosophers for deadlock. In: Proceedings of TACAS, LNCS vol. 1019, 133–152 (1995)
Roscoe A.W.(1998): The Theory and Practice of Concurrency. Prentice Hall, Englewood Cliffs
Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of 1st LICS, 332–344 (1986)
Author information
Authors and Affiliations
Corresponding author
Additional information
We acknowledge support by the EPSRC (GR/S52759/01). The second author was also supported by the Intel Corporation, and is also affiliated to the Mathematical Institute, Serbian Academy of Sciences and Arts, Belgrade
Rights and permissions
About this article
Cite this article
Dimovski, A., Lazić, R. Compositional software verification based on game semantics and process algebra. Int J Softw Tools Technol Transfer 9, 37–51 (2007). https://doi.org/10.1007/s10009-006-0005-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-006-0005-y