Compositional Model Extraction for Higher-Order Concurrent Programs

  • D. R. Ghica
  • A. S. Murawski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3920)


The extraction of accurate finite-state models of higher-order or open programs is a difficult problem. We show how it can be addressed using newly developed game-semantic techniques and illustrate the solution with a model-checking tool based on such techniques. The approach has several important advantages over more traditional ones: precise account of inter-procedural behaviour, concise procedure summaries and economical extracted models.


Model Check Game Model Parallel Composition Model Extraction Abstract Data Type 
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.


  1. 1.
    Ball, T., Cook, B., Levin, V., Rajamani, S.K.: SLAM and static driver verifier: technology transfer of formal methods inside Microsoft. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 1–20. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Clarke, E.M., Grumberg, O., Peled, P.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  3. 3.
    Robby, D.M.B., Hatcliff, J.: Bogor: an extensible and highly-modular software model checking framework. In: ESEC / SIGSOFT FSE, pp. 267–276 (2003)Google Scholar
  4. 4.
    Ball, T., Rajamani, S.K.: The SLAM toolkit. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 260–264. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Andrews, T., Qadeer, S., Rajamani, S.K., Rehof, J., Xie, Y.: Zing: A model checker for concurrent software. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 484–487. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Holzmann, G.J.: The Spin model checker. IEEE Trans. on Soft. Eng. 23, 279–295 (1997)CrossRefGoogle Scholar
  7. 7.
    Qadeer, S., Rajamani, S.K., Rehof, J.: Summarizing procedures in concurrent programs. In: POPL (2004), pp. 245–255 (2004)Google Scholar
  8. 8.
    Abramsky, S., Jagadeesan, R., Malacaria, P.: Full abstraction for PCF. Information and Computation 163 (2000)Google Scholar
  9. 9.
    Hyland, J.M.E., Ong, C.-H.L.: On full abstraction for PCF: I, II and III. Information and Computation 163 (2000)Google Scholar
  10. 10.
    Abramsky, S., McCusker, G.: Linearity, sharing and state: a fully abstract game semantics for Idealized Algol with active expressions. ENTCS 3 (1996)Google Scholar
  11. 11.
    Laird, J.: Full abstraction for functional languages with control. In: LICS, pp. 58–67 (1997)Google Scholar
  12. 12.
    Ghica, D.R., Murawski, A.S.: Angelic semantics of fine-grained concurrency. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, pp. 211–225. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Hankin, C., Malacaria, P.: Generalised flowcharts and games. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 363–374. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  14. 14.
    Ghica, D.R., McCusker, G.: Reasoning about Idealized algol using regular languages. In: Welzl, E., Montanari, U., Rolim, J.D.P. (eds.) ICALP 2000. LNCS, vol. 1853, pp. 103–116. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Ghica, D.R.: A Games-based Foundation for Compositional Software Model Checking. PhD thesis, Queen’s University, Kingston, Canada (2002)Google Scholar
  16. 16.
    Abramsky, S., Ghica, D.R., Murawski, A.S., Ong, C.-H.L.: Applying game semantics to compositional software modeling and verification. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 421–435. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Roscoe, W.A.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  18. 18.
    Dimovski, A., Lazic, R.: CSP Representation of Game Semantics for Second-Order Idealized Algol. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 146–191. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Ghica, D.R., Murawski, A.S., Ong, C.-H.L.: Syntactic control of concurrency. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 683–694. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  20. 20.
    Brookes, S.: The essence of Parallel Algol. In: LICS, pp. 164–173 (1996)Google Scholar
  21. 21.
    Andrews, G.: Concurrent Programming: principles and practice. Addison-Wesley Publishing Company, Reading (1991)MATHGoogle Scholar
  22. 22.
    Dimovski, A., Ghica, D.R., Lazic, R.: Data-Abstraction Refinement: A Game Semantic Approach. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 102–117. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    Rajeev, A., et al.: Partial-Order Reduction in Symbolic State-Space Exploration. Formal Methods in System Design 18(2), 97–116 (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • D. R. Ghica
    • 1
  • A. S. Murawski
    • 2
  1. 1.School of Computer ScienceUniv. of BirminghamBirminghamUK
  2. 2.Oxford University Computing LaboratoryOxfordUK

Personalised recommendations