A Practical Application of Geometric Semantics to Static Analysis of Concurrent Programs

  • Eric Goubault
  • Emmanuel Haucourt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3653)


In this paper we show how to compress efficiently the state-space of a concurrent system (here applied to a simple shared memory model, but this is no way limited to that model). The technology used here is based on research on geometric semantics by the authors and collaborators [1]. It has been implemented in a abstract interpretation based static analyzer (ALCOOL), and we show some preliminary results and benchmarks.


Homotopy Theory Abstract Interpretation Execution Path Concurrent Program Component Category 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Fajstrup, L., Goubault, E., Haucourt, E., Raussen, M.: Components of the fundamental category. Applied Categorical Structures (2004) Google Scholar
  2. 2.
    Dijkstra, E.: Cooperating Sequential Processes. Academic Press, London (1968) Google Scholar
  3. 3.
    Nachbin, L.: Topology and Order. Van Nostrand, Princeton (1965) Google Scholar
  4. 4.
    Johnstone, P.T.: Stone Spaces. Cambridge University Press, Cambridge (1982)zbMATHGoogle Scholar
  5. 5.
    Fajstrup, L., Goubault, E., Raussen, M.: Algebraic topology and concurrency. Submitted to Theoretical Computer Science, also technical report, Aalborg University (1999) Google Scholar
  6. 6.
    Goubault, E.: Some geometric perspectives in concurrency theory. Homology Homotopy and Applications (2003) Google Scholar
  7. 7.
    Goubault, E., Raussen, M.: Dihomotopy as a tool in state space analysis. In: Rajsbaum, S. (ed.) LATIN 2002. LNCS, vol. 2286, pp. 16–37. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Gabriel, P., Zisman, M.: Calculus of fractions and homotopy theory. Ergebnisse der Mathematik und ihrer Grenzgebiete, vol. 35. Springer, Heidelberg (1967) Google Scholar
  9. 9.
    Haucourt, E.: A framework for component categories. ENTCS (2005) (to appear) Google Scholar
  10. 10.
    Mac Lane, S.: Categories for the working mathematician. Springer, Heidelberg (1971) Google Scholar
  11. 11.
    Gaucher, P., Goubault, E.: Topological deformation of higher dimensional automata. Technical report, arXiv:math.AT/010760, to appear in HHA (2001) Google Scholar
  12. 12.
    Godefroid, P., Peled, D., Staskauskas, M.: Using partial-order methods in the formal validation of industrial concurrent programs. IEEE Transactions on Software Engineering 22, 496–507 (1996)CrossRefGoogle Scholar
  13. 13.
    Godefroid, P., Holzmann, G.J., Pirottin, D.: State-space caching revisited. In: Formal Methods and System Design, vol. 7, pp. 1–15. Kluwer Academic Publishers, Dordrecht (1995)Google Scholar
  14. 14.
    Valmari, A.: A stubborn attack on state explosion. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  15. 15.
    Valmari, A.: Eliminating redundant interleavings during concurrent program verification. In: Odijk, E., Rem, M., Syre, J.-C. (eds.) PARLE 1989. LNCS, vol. 366, pp. 89–103. Springer, Heidelberg (1989)Google Scholar
  16. 16.
    Melzer, S., Roemer, S.: Deadlock checking using net unfoldings. In: Proc. of Computer Aided Verification. Springer, Heidelberg (1997)Google Scholar
  17. 17.
    Mazurkiewicz, A.: Basic notions of trace theory. Lecture notes for the REX summer school in temporal logic. Springer, Heidelberg (1988) Google Scholar
  18. 18.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximations of fixed points. Principles of Programming Languages 4, 238–252 (1977)Google Scholar
  19. 19.
    Boigelot, B., Godefroid, P.: Model checking in practice: An analysis of the access bus protocol using spin. In: Gaudel, M.-C., Woodcock, J.C.P. (eds.) FME 1996. LNCS, vol. 1051, pp. 465–478. Springer, Heidelberg (1996)Google Scholar
  20. 20.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020 states and beyond. In: Proc. of the Fifth Annual IEEE Symposium on Logic and Computer Science, pp. 428–439. IEEE Press, Los Alamitos (1990)CrossRefGoogle Scholar
  21. 21.
    Garavel, H., Jorgensen, M., Mateescu, R., Pecheur, C., Sighireanu, M., Vivien, B.: Cadp 1997 – status, applications and perspectives. Technical report, Inria Alpes (1997) Google Scholar
  22. 22.
    Raussen, M.: Deadlocks and dihomotopy in mutual exclusion models. Technical report, Aalborg University (2005), Available at
  23. 23.
    Carson, S., Reynolds, P.: The geometry of semaphore programs. ACM TOPLAS 9, 25–53 (1987)zbMATHCrossRefGoogle Scholar
  24. 24.
    Gaucher, P.: A convenient category for the homotopy theory of concurrency preprint available at math. AT/0201252 (2002) Google Scholar
  25. 25.
    Grandis, M.: Directed homotopy theory, I. the fundamental category. Cahiers Top. Gom. Diff. Catg, to appear, Preliminary version: Dip. Mat. Univ. Genova, Preprint 443 (2001)Google Scholar
  26. 26.
    Spanier, E.J.: Algebraic Topology. McGraw-Hill, New York (1966)zbMATHGoogle Scholar
  27. 27.
    Goubault, E.: Geometry and concurrency: A users’ guide. Mathematical Structures in Computer Science (2000)Google Scholar
  28. 28.
    Goubault, E.: Cubical sets are generalized transition systems. Technical report, pre-proceedings of CMCIM 2002 (2001), also available at
  29. 29.
    Fahrenberg, U.: A category of higher-dimensional automata. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 187–201. Springer, Heidelberg (2005) (to appear)Google Scholar
  30. 30.
    Boehm, H.: Bounding space usage of conservative garbage collector. In: Principles of Programing Language (2002), see
  31. 31.
    Holzmann, G.J.: SPIN Model Checker: The Primer and Reference Manual. Addison-Wesley, Reading (2003)Google Scholar
  32. 32.
    Cousot, P., Cousot, R.: Comparison of the Galois connection and widening/ narrowing approaches to abstract interpretation. In: JTASPEFL 1991, Bordeaux, BIGRE, vol. 74, pp. 107–110 (1991)Google Scholar
  33. 33.
    Demartini, C., Iosif, R., Sisto, R.: Modeling and validation of java multithreading applications using spin. In: SPIN Workshop (1998)Google Scholar
  34. 34.
    Godefroid, P., Wolper, P.: Using partial orders for the efficient verification of deadlock freedom and safety properties. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 417–428. Springer, Heidelberg (1992)Google Scholar
  35. 35.
    Grandis, M.: The shape of a category up to directed homotopy. Technical Report preprint 509, Dip. Mat. Univ. Genova (2004), available at

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Eric Goubault
    • 1
  • Emmanuel Haucourt
    • 2
  1. 1.LIST (CEA – Technologies Avancées), DTSI-SOLGif-sur-Yvette Cedex
  2. 2.Preuves, Programmation, SystèmesUniversité Paris 7

Personalised recommendations