Skip to main content
Log in

Compositional software verification based on game semantics and process algebra

  • SPECIAL SECTION ON ADVANCES IN AUTOMATED VERIFICATION OF CRITICAL SYSTEMS
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abramsky S.(1997). Semantics of interaction. In: Dybjer P., Pitts A. (eds) Semantics and Logics of Computation. University Press, Cambridge

    Google Scholar 

  2. 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)

  3. Abramsky, S.: Algorithmic game semantics: a tutorial introduction. Lecture notes, Marktoberdorf International Summer School (2001)

  4. 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)

  5. Appel, A.W., Palsberg, J.: Modern Compiler Implementation in Java, 2nd edn. Cambridge University Press (2002)

  6. 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)

  7. 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)

  8. Clarke E.M., Grumberg O., Peled D.(2000): Model Checking. MIT Press, Cambridge

    Google Scholar 

  9. Dimovski, A., Ghica, D., Lazić, R.: Data-abstraction refinement: a game semantic approach. In: Proceedings of SAS, LNCS vol.~3672, pp.~102–117 (2005)

  10. Formal Systems (Europe) Ltd, Failures-Divergence Refinement: FDR2 Manual (2000)

  11. Ghica D., McCusker G. (2003): The regular-language semantics of second-order idealized Algol. Theor. Comput. Sci. 309(1–3): 469–502

    Article  MathSciNet  Google Scholar 

  12. Ghica, D., Murawski, A., Ong, C.-H.L.: Syntactic Control of Concurrency. In: Proceedings of ICALP, LNCS vol. 3142, pp.~683–694 (2004)

  13. Hoare C.A.R.(1985): Communicating Sequential Processes. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  14. Hyland J.M.E., Ong C.-H.L.(2000): On full abstraction for PCF: I, II and III. Inform. Comput. 163: 285–400

    Article  MathSciNet  Google Scholar 

  15. Laird, J.: A Semantic Analysis of Control. PhD thesis, University of Edinburgh (1998)

  16. Lazić, R.: A Semantic Study of Data Independence with Applications to Model Checking. DPhil thesis, Computing Laboratory, Oxford University (1999)

  17. Murawski, A., Walukiewicz, I.: Third-order Idealized Algol with iteration is decidable. In: Proceedings of FoSSaCS, LNCS vol. 3411, 202–218 (2004)

  18. 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)

  19. Reynolds, J.C.: The essence of Algol. In: Proceedings of ISAL, 345–372 (1981)

  20. 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)

  21. Roscoe A.W.(1998): The Theory and Practice of Concurrency. Prentice Hall, Englewood Cliffs

    Google Scholar 

  22. Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of 1st LICS, 332–344 (1986)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ranko Lazić.

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

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-006-0005-y

Keywords

Navigation