Skip to main content

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

  • Conference paper
CONCUR 2005 – Concurrency Theory (CONCUR 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3653))

Included in the following conference series:

Abstract

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Fajstrup, L., Goubault, E., Haucourt, E., Raussen, M.: Components of the fundamental category. Applied Categorical Structures (2004)

    Google Scholar 

  2. Dijkstra, E.: Cooperating Sequential Processes. Academic Press, London (1968)

    Google Scholar 

  3. Nachbin, L.: Topology and Order. Van Nostrand, Princeton (1965)

    Google Scholar 

  4. Johnstone, P.T.: Stone Spaces. Cambridge University Press, Cambridge (1982)

    MATH  Google Scholar 

  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. Goubault, E.: Some geometric perspectives in concurrency theory. Homology Homotopy and Applications (2003)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Haucourt, E.: A framework for component categories. ENTCS (2005) (to appear)

    Google Scholar 

  10. Mac Lane, S.: Categories for the working mathematician. Springer, Heidelberg (1971)

    Google Scholar 

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

    Article  Google Scholar 

  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. Valmari, A.: A stubborn attack on state explosion. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  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. Melzer, S., Roemer, S.: Deadlock checking using net unfoldings. In: Proc. of Computer Aided Verification. Springer, Heidelberg (1997)

    Google Scholar 

  17. Mazurkiewicz, A.: Basic notions of trace theory. Lecture notes for the REX summer school in temporal logic. Springer, Heidelberg (1988)

    Google Scholar 

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

    Chapter  Google Scholar 

  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. Raussen, M.: Deadlocks and dihomotopy in mutual exclusion models. Technical report, Aalborg University (2005), Available at http://www.math.aau.dk/index_en.html

  23. Carson, S., Reynolds, P.: The geometry of semaphore programs. ACM TOPLAS 9, 25–53 (1987)

    Article  MATH  Google Scholar 

  24. Gaucher, P.: A convenient category for the homotopy theory of concurrency preprint available at math. AT/0201252 (2002)

    Google Scholar 

  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. Spanier, E.J.: Algebraic Topology. McGraw-Hill, New York (1966)

    MATH  Google Scholar 

  27. Goubault, E.: Geometry and concurrency: A users’ guide. Mathematical Structures in Computer Science (2000)

    Google Scholar 

  28. Goubault, E.: Cubical sets are generalized transition systems. Technical report, pre-proceedings of CMCIM 2002 (2001), also available at http://www.di.ens.fr/~goubault

  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. Boehm, H.: Bounding space usage of conservative garbage collector. In: Principles of Programing Language (2002), see http://www.hpl.hp.com/personal/Hans_Boehm/gc/

  31. Holzmann, G.J.: SPIN Model Checker: The Primer and Reference Manual. Addison-Wesley, Reading (2003)

    Google Scholar 

  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. Demartini, C., Iosif, R., Sisto, R.: Modeling and validation of java multithreading applications using spin. In: SPIN Workshop (1998)

    Google Scholar 

  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. Grandis, M.: The shape of a category up to directed homotopy. Technical Report preprint 509, Dip. Mat. Univ. Genova (2004), available at http://www.dima.unige.it/~grandis/rec.public_grandis.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goubault, E., Haucourt, E. (2005). A Practical Application of Geometric Semantics to Static Analysis of Concurrent Programs. In: Abadi, M., de Alfaro, L. (eds) CONCUR 2005 – Concurrency Theory. CONCUR 2005. Lecture Notes in Computer Science, vol 3653. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11539452_38

Download citation

  • DOI: https://doi.org/10.1007/11539452_38

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-28309-6

  • Online ISBN: 978-3-540-31934-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics