Advertisement

Compositional software verification based on game semantics and process algebra

  • Aleksandar Dimovski
  • Ranko LazićEmail author
SPECIAL SECTION ON ADVANCES IN AUTOMATED VERIFICATION OF CRITICAL SYSTEMS

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.

Keywords

Model Check Transition System Regular Language Linear Temporal Logic Process Algebra 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abramsky S.(1997). Semantics of interaction. In: Dybjer P., Pitts A. (eds) Semantics and Logics of Computation. University Press, CambridgeGoogle Scholar
  2. 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)Google Scholar
  3. 3.
    Abramsky, S.: Algorithmic game semantics: a tutorial introduction. Lecture notes, Marktoberdorf International Summer School (2001)Google Scholar
  4. 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)Google Scholar
  5. 5.
    Appel, A.W., Palsberg, J.: Modern Compiler Implementation in Java, 2nd edn. Cambridge University Press (2002)Google Scholar
  6. 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)Google Scholar
  7. 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)Google Scholar
  8. 8.
    Clarke E.M., Grumberg O., Peled D.(2000): Model Checking. MIT Press, CambridgeGoogle Scholar
  9. 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)Google Scholar
  10. 10.
    Formal Systems (Europe) Ltd, Failures-Divergence Refinement: FDR2 Manual (2000)Google Scholar
  11. 11.
    Ghica D., McCusker G. (2003): The regular-language semantics of second-order idealized Algol. Theor. Comput. Sci. 309(1–3): 469–502CrossRefMathSciNetGoogle Scholar
  12. 12.
    Ghica, D., Murawski, A., Ong, C.-H.L.: Syntactic Control of Concurrency. In: Proceedings of ICALP, LNCS vol. 3142, pp.~683–694 (2004)Google Scholar
  13. 13.
    Hoare C.A.R.(1985): Communicating Sequential Processes. Prentice Hall, Englewood CliffszbMATHGoogle Scholar
  14. 14.
    Hyland J.M.E., Ong C.-H.L.(2000): On full abstraction for PCF: I, II and III. Inform. Comput. 163: 285–400CrossRefMathSciNetGoogle Scholar
  15. 15.
    Laird, J.: A Semantic Analysis of Control. PhD thesis, University of Edinburgh (1998)Google Scholar
  16. 16.
    Lazić, R.: A Semantic Study of Data Independence with Applications to Model Checking. DPhil thesis, Computing Laboratory, Oxford University (1999)Google Scholar
  17. 17.
    Murawski, A., Walukiewicz, I.: Third-order Idealized Algol with iteration is decidable. In: Proceedings of FoSSaCS, LNCS vol. 3411, 202–218 (2004)Google Scholar
  18. 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)Google Scholar
  19. 19.
    Reynolds, J.C.: The essence of Algol. In: Proceedings of ISAL, 345–372 (1981)Google Scholar
  20. 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)Google Scholar
  21. 21.
    Roscoe A.W.(1998): The Theory and Practice of Concurrency. Prentice Hall, Englewood CliffsGoogle Scholar
  22. 22.
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of 1st LICS, 332–344 (1986)Google Scholar

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of WarwickCoventryUK

Personalised recommendations