Skip to main content

Partial Order Reductions Using Compositional Confluence Detection

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 5850)

Abstract

Explicit state methods have proven useful in verifying safety-critical systems containing concurrent processes that run asynchronously and communicate. Such methods consist of inspecting the states and transitions of a graph representation of the system. Their main limitation is state explosion, which happens when the graph is too large to be stored in the available computer memory. Several techniques can be used to palliate state explosion, such as on-the-fly verification, compositional verification, and partial order reductions. In this paper, we propose a new technique of partial order reductions based on compositional confluence detection (Ccd), which can be combined with the techniques mentioned above. Ccd is based upon a generalization of the notion of confluence defined by Milner and exploits the fact that synchronizing transitions that are confluent in the individual processes yield a confluent transition in the system graph. It thus consists of analysing the transitions of the individual process graphs and the synchronization structure to identify such confluent transitions compositionally. Under some additional conditions, the confluent transitions can be given priority over the other transitions, thus enabling graph reductions. We propose two such additional conditions: one ensuring that the generated graph is equivalent to the original system graph modulo branching bisimulation, and one ensuring that the generated graph contains the same deadlock states as the original system graph. We also describe how Ccd-based reductions were implemented in the Cadp toolbox, and present examples and a case study in which adding Ccd improves reductions with respect to compositional verification and other partial order reductions.

Keywords

  • Parallel Composition
  • Label Transition System
  • State Explosion
  • Asynchronous System
  • Deadlock State

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.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-05089-3_11
  • Chapter length: 16 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   149.00
Price excludes VAT (USA)
  • ISBN: 978-3-642-05089-3
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   189.00
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arnold, A.: MEC: A System for Constructing and Analysing Transition Systems. In: Sifakis, J. (ed.) CAV 1989. LNCS, vol. 407. Springer, Heidelberg (1990)

    Google Scholar 

  2. Blom, S.C.C.: Partial τ-Confluence for Efficient State Space Generation. Technical Report SEN–R0123, CWI (2001)

    Google Scholar 

  3. Blom, S., van de Pol, J.: State Space Reduction by Proving Confluence. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 596. Springer, Heidelberg (2002)

    CrossRef  Google Scholar 

  4. Bouali, A., Ressouche, A., Roy, V., de Simone, R.: The Fc2Tools set: a Toolset for the Verification of Concurrent Systems. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102. Springer, Heidelberg (1996)

    Google Scholar 

  5. Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A Theory of Communicating Sequential Processes. Journal of the ACM 31(3), 560–599 (1984)

    CrossRef  MATH  MathSciNet  Google Scholar 

  6. Cheung, S.C., Kramer, J.: Enhancing Compositional Reachability Analysis with Context Constraints. In: Foundations of Software Engineering (1993)

    Google Scholar 

  7. Fernandez, J.-C.: ALDEBARAN : un système de vérification par réduction de processus communicants. Thèse de Doctorat, Univ. J. Fourier, Grenoble (1988)

    Google Scholar 

  8. Fernandez, J.-C., Jard, C., Jéron, T., Mounier, L.: On the Fly Verification of Finite Transition Systems. In: FMSD (1992)

    Google Scholar 

  9. Fernandez, J.-C., Mounier, L.: Verifying Bisimulations “On the Fly”. In: FDT (1990)

    Google Scholar 

  10. Garavel, H.: OPEN/CÆSAR: An Open Software Architecture for Verification, Simulation, and Testing. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, p. 68. Springer, Heidelberg (1998)

    CrossRef  Google Scholar 

  11. Garavel, H., Lang, F.: SVL: a Scripting Language for Compositional Verification. In: FORTE. Kluwer, Dordrecht (2001)

    Google Scholar 

  12. Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 158–163. Springer, Heidelberg (2007)

    CrossRef  Google Scholar 

  13. Garavel, H., Mateescu, R., Bergamini, D., Curic, A., Descoubes, N., Joubert, C., Smarandache-Sturm, I., Stragier, G.: DISTRIBUTOR and BCG_MERGE: Tools for Distributed Explicit State Space Generation. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 445–449. Springer, Heidelberg (2006)

    CrossRef  Google Scholar 

  14. Giannakopoulou, D.: Model Checking for Concurrent Software Architectures. PhD thesis, Imperial College, Univ. of London, Dept. of Computer Science (1999)

    Google Scholar 

  15. Godefroid, P.: Using Partial Orders to Improve Automatic Verification Methods. In: Computer-Aided Verification. DIMACS Series, vol. 3 (1990)

    Google Scholar 

  16. Graf, S., Steffen, B., Lüttgen, G.: Compositional Minimization of Finite State Systems using Interface Specifications. FAC 8(5), 607–616 (1996)

    CrossRef  MATH  Google Scholar 

  17. Graf, S., Steffen, B.: Compositional Minimization of Finite State Systems. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531. Springer, Heidelberg (1991)

    CrossRef  Google Scholar 

  18. Groote, J.F., Ponse, A.: The Syntax and Semantics of μCRL. In: Algebra of Communicating Processes, Workshops in Computing Series (1995)

    Google Scholar 

  19. Groote, J.F., van de Pol, J.: State Space Reduction using Partial τ-Confluence. In: Nielsen, M., Rovan, B. (eds.) MFCS 2000. LNCS, vol. 1893, p. 383. Springer, Heidelberg (2000)

    CrossRef  Google Scholar 

  20. Groote, J.F., Sellink, M.P.A.: Confluence for process verification. TCS 170(1–2), 47–81 (1996)

    MATH  MathSciNet  Google Scholar 

  21. Holzmann, G.J.: On-The-Fly Model Checking. ACM Comp. Surveys 28(4) (1996)

    Google Scholar 

  22. ISO/IEC. LOTOS — A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. International Standard 8807, ISO (1989)

    Google Scholar 

  23. ISO/IEC. Enhancements to LOTOS (E-LOTOS). International Standard 15437:2001, ISO (2001)

    Google Scholar 

  24. Krimm, J.-P., Mounier, L.: Compositional State Space Generation from LOTOS Programs. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217. Springer, Heidelberg (1997)

    CrossRef  Google Scholar 

  25. Lang, F.: EXP.OPEN 2.0: A Flexible Tool Integrating Partial Order, Compositional, and On-the-fly Verification Methods. In: Romijn, J.M.T., Smith, G.P., van de Pol, J. (eds.) IFM 2005. LNCS, vol. 3771, pp. 70–88. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

  26. Lang, F.: Refined Interfaces for Compositional Verification. In: Najm, E., Pradat-Peyre, J.-F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, pp. 159–174. Springer, Heidelberg (2006)

    CrossRef  Google Scholar 

  27. Lang, F., Mateescu, R.: Partial Order Reductions using Compositional Confluence Detection. In: Extended version of FM 2009, INRIA (2009)

    Google Scholar 

  28. Malhotra, J., Smolka, S.A., Giacalone, A., Shapiro, R.: A Tool for Hierarchical Design and Simulation of Concurrent Systems. In: Specification and Verification of Concurrent Systems (1988)

    Google Scholar 

  29. Mateescu, R.: A Generic On-the-Fly Solver for Alternation-Free Boolean Equation Systems. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 81–96. Springer, Heidelberg (2003)

    Google Scholar 

  30. Mateescu, R.: CAESAR_SOLVE: A Generic Library for On-the-Fly Resolution of Alternation-Free Boolean Equation Systems. STTT 8(1), 37–56 (2006)

    CrossRef  MathSciNet  Google Scholar 

  31. Mateescu, R., Sighireanu, M.: Efficient On-the-Fly Model-Checking for Regular Alternation-Free Mu-Calculus. SCP 46(3), 255–281 (2003)

    MATH  MathSciNet  Google Scholar 

  32. Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  33. Nalumasu, R., Gopalakrishnan, G.: An Efficient Partial Order Reduction Algorithm with an Alternative Proviso Implementation. FMSD 20(3) (2002)

    Google Scholar 

  34. Pace, G., Lang, F., Mateescu, R.: Calculating τ-Confluence Compositionally. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 446–459. Springer, Heidelberg (2003)

    Google Scholar 

  35. Peled, D.A.: Combining partial order reduction with on-the-fly model-checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818. Springer, Heidelberg (1994)

    Google Scholar 

  36. Peled, D.A., Pratt, V.R., Holzmann, G.J. (eds.): Partial Order Methods in Verification. DIMACS Series, vol. 29 (1997)

    Google Scholar 

  37. Ramakrishna, Y.S., Smolka, S.A.: Partial-Order Reduction in the Weak Modal Mu-Calculus. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243, pp. 5–24. Springer, Heidelberg (1997)

    Google Scholar 

  38. 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: Brinksma, E., Steffen, B., Cleaveland, W.R., Larsen, K.G., Margaria, T. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 133–152. Springer, Heidelberg (1995)

    Google Scholar 

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

    Google Scholar 

  40. Sabnani, K., Lapone, A., Uyar, M.: An Algorithmic Procedure for Checking Safety Properties of Protocols. IEEE Trans. on Communications 37(9), 940–948 (1989)

    CrossRef  Google Scholar 

  41. Tai, K.C., Koppol, V.: Hierarchy-Based Incremental Reachability Analysis of Communication Protocols. In: Network Protocols. IEEE Press, Los Alamitos (1993)

    Google Scholar 

  42. Valmari, A.: A Stubborn Attack on State Explosion. In: Computer-Aided Verification. DIMACS Series, vol. 3 (1990)

    Google Scholar 

  43. Valmari, A.: Stubborn Set Methods for Process Algebras. In: Partial Order Methods in Verification. DIMACS Series, vol. 29. AMS, Providence (1997)

    Google Scholar 

  44. Valmari, A.: Compositional State Space Generation. In: Rozenberg, G. (ed.) APN 1993. LNCS, vol. 674, pp. 427–457. Springer, Heidelberg (1993)

    Google Scholar 

  45. van Glabbeek, R.J., Weijland, W.P.: Branching-Time and Abstraction in Bisimulation Semantics. In: IFIP World Computer Congress (1989)

    Google Scholar 

  46. Yeh, W.J.: Controlling State Explosion in Reachability Analysis. PhD thesis, Software Engineering Research Center (SERC) Laboratory, Purdue Univ. (1993)

    Google Scholar 

  47. Ying, M.: Weak confluence and τ-inertness. TCS 238(1–2), 465–475 (2000)

    CrossRef  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lang, F., Mateescu, R. (2009). Partial Order Reductions Using Compositional Confluence Detection. In: Cavalcanti, A., Dams, D.R. (eds) FM 2009: Formal Methods. FM 2009. Lecture Notes in Computer Science, vol 5850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05089-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-05089-3_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-05088-6

  • Online ISBN: 978-3-642-05089-3

  • eBook Packages: Computer ScienceComputer Science (R0)