Advertisement

CAESAR_SOLVE: A generic library for on-the-fly resolution of alternation-free Boolean equation systems

  • Radu MateescuEmail author
Regular contribution

Abstract

Boolean equation systems (Bess) provide a useful framework for modeling various verification problems on finite-state concurrent systems, such as equivalence checking and model checking. These problems can be solved on the fly (i.e., without constructing explicitly the state space of the system under analysis) by using a demand-driven construction and resolution of the corresponding Bes. In this article, we present a generic software library dedicated to on-the-fly resolution of alternation-free Bess. Four resolution algorithms are currently provided by the library: algorithms A1 and A2 are general, the latter being optimized to produce small-depth diagnostics, whereas algorithms A3 and A4 are specialized for handling acyclic and disjunctive/conjunctive Bess in a memory-efficient way. The library has been developed within the Cadp verification toolbox using the generic Open/Caesar environment and is currently used for three purposes: on-the-fly equivalence checking modulo five widely used equivalence relations, on-the-fly model checking of regular alternation-free modal μ-calculus, and on-the-fly reduction of state spaces based on τ-confluence .

Keywords

Bisimulation Boolean equation system Partial-order reduction Temporal logic Verification  

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andersen HR (1994) Model checking and boolean graphs. Theor Comput Sci 126(1):3–30CrossRefzbMATHMathSciNetGoogle Scholar
  2. 2.
    Andersen HR, Vergauwen B (1995) Efficient checking of behavioural relations and modal assertions using fixed-point inversion. In: Wolper P (ed) Proceedings of the 7th international conference on computer-aided verification CAV’95, Liege, Belgium, July 1995. Lecture notes in computer science, vol 939. Springer, Berlin Heidelberg New York, pp 142–154Google Scholar
  3. 3.
    Arnold A, Crubillé P (1988) A linear algorithm to solve fixed-point equations on transition systems. Inf Process Lett 29(1):57–66CrossRefzbMATHGoogle Scholar
  4. 4.
    Baeten JCM, van Glabbeek RJ (1987) Another look at abstraction in process algebra. In: Ottman T (ed) Proceedings of ICALP’87. Lecture notes in computer science, vol 267. Springer, Berlin Heidelberg New York, pp 84–94Google Scholar
  5. 5.
    Bouajjani A, Fernandez J-C, Graf S, Rodríguez C, Sifakis J (1991) Safety for branching time semantics. In: Proceedings of the 18th international colloquium on automata, languages, and programming ICALP’91, Madrid, July 1991. Lecture notes in computer science, vol 510. Springer, Berlin Heidelberg New YorkGoogle Scholar
  6. 6.
    Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput C-35(8):677–691Google Scholar
  7. 7.
    Mateescu R (2005) Man page of the Caesar_Solve_1 library. INRIA Rhône-Alpes/VASY, January 2005Google Scholar
  8. 8.
    Clarke EM, Emerson EA, Sistla AP (1986) Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans Programm Lang Syst 8(2):244–263CrossRefzbMATHGoogle Scholar
  9. 9.
    Clarke EM, Grumberg O, McMillan KL, Zhao X (1995) Efficient generation of counterexamples and witnesses in symbolic model checking. In: Proceedings of the 32nd ACM/IEEE conference on design automation DAC’95, San Francisco, pp 427–432Google Scholar
  10. 10.
    Cleaveland R, Parrow J, Steffen B (1993) The Concurrency Workbench: a semantics-based verification tool for finite state systems. ACM Trans Programm Lang Syst 15(1):36–72CrossRefGoogle Scholar
  11. 11.
    Cleaveland R, Steffen B (1991) Computing behavioural relations, logically. In: Albert JL, Monien B, Rodríguez-Artalejo M (eds) Proceedings of the 18th international colloquium on automata, languages, and programming ICALP’91, Madrid, July 1991. Lecture notes in computer science, vol 510. Springer, Berlin Heidelberg New York, pp 127–138Google Scholar
  12. 12.
    Cleaveland R, Steffen B () A linear-time model-checking algorithm for the alternation-free modal mu-calculus. In: Larsen KG, Skou A (eds) Proceedings of the 3rd international conference on computer-aided verification CAV’91, Aalborg, Denmark, July 1991. Lecture notes in computer science, vol 575. Springer, Berlin Heidelberg New York, pp 48–58Google Scholar
  13. 13.
    Cleaveland R, Steffen B (1993) A linear-time model-checking algorithm for the alternation-free modal mu-calculus. Formal Methods Syst Des 2(2):121–147CrossRefzbMATHGoogle Scholar
  14. 14.
    Dowling WF, Gallier JH (1984) Linear-time algorithms for testing the satisfiability of propositional Horn formulae. J Logic Programm 3:267–284CrossRefMathSciNetGoogle Scholar
  15. 15.
    Du X, Smolka SA, Cleaveland R (1999) Local model checking and protocol analysis. Int J Softw Tools Technol Transfer 2(3):219–241CrossRefzbMATHGoogle Scholar
  16. 16.
    Emerson EA, Lei C-L (1986) Efficient model checking in fragments of the propositional mu-calculus. In: Proceedings of the 1st symposium on logic in computer science (LICS), pp 267–278Google Scholar
  17. 17.
    Fantechi A, Gnesi S, Ristori G (1992) From ACTL to mu-calculus. In: Proceedings of the ERCIM workshop on theory and practice in verification, Pisa, Italy, December 1992. IEI–CNR, Pisa, pp 3–10Google Scholar
  18. 18.
    Fernandez J-C, Jard C, Jéron T, Nedelka L, Viho C (1996) Using on-the-fly verification techniques for the generation of test suites. In: Alur R, Henzinger TA (eds) Proceedings of the 8th international conference on computer-aided verification CAV’96, New Brunswick, NJ, August 1996. Lecture notes in computer science, vol 1102. Springer, Berlin Heidelberg New York, pp 348–359Google Scholar
  19. 19.
    Fernandez J-C, Mounier L (1991) “On the fly” verification of behavioural equivalences and preorders. In: Larsen KG, Skou A (eds) Proceedings of the 3rd international workshop on computer-aided verification CAV’91, Aalborg, Denmark, July 1991. Lecture notes in computer science, vol 575. Springer, Berlin Heidelberg New YorkGoogle Scholar
  20. 20.
    Fischer MJ, Ladner RE (1979) Propositional dynamic logic of regular programs. J Comput Syst Sci (18):194–211CrossRefzbMATHGoogle Scholar
  21. 21.
    Garavel H (1998) OPEN/CAESAR: an open software architecture for verification, simulation, and testing. In: Steffen B (ed) Proceedings of the 1st international conference on tools and algorithms for the construction and analysis of systems (TACAS’98), Lisbon, Portugal, March 1998. Lecture notes in computer science, vol 1384. Springer, Berlin Heidelberg New York, pp 68–84. Full version available as INRIA Research Report RR-3352Google Scholar
  22. 22.
    Garavel H, Lang F, Mateescu R (2002) An overview of CADP 2001. European Assoc Softw Sci Technol (EASST) Newslett 4:13–24. Also available as INRIA Technical Report RT-0254Google Scholar
  23. 23.
    Garavel H, Mateescu R (2004) SEQ.OPEN: a tool for efficient trace-based verification. In: Graf S, Mounier L (eds) Proceedings of the 11th international SPIN workshop on model checking of software SPIN’2004, Barcelona, April 2004. Lecture notes in computer science, vol 2989. Springer, Berlin Heidelberg New York, pp 150–155Google Scholar
  24. 24.
    Groote JF, Keinänen M (2004) Solving disjunctive/conjunctive boolean equation systems with alternating fixed points. In: Jensen K, Podelski A (eds) Proceedings of the 10th international conference on tools and algorithms for the construction and analysis of systems (TACAS’2004), Barcelona, March 2004. Lecture notes in computer science, vol 2988. Springer, Berlin Heidelberg New York, pp 436–450Google Scholar
  25. 25.
    Groote JF, van de Pol J (2000) State space reduction using partial τ-confluence. In: Nielsen M, Rovan B (eds) Proceedings of the 25th international symposium on mathematical foundations of computer science MFCS’2000, Bratislava, Slovakia, August 2000. Lecture notes in computer science, vol 1893. Springer, Berlin Heidelberg New York, pp 383–393Google Scholar
  26. 26.
    Hermanns H, Siegle M (1999) Bisimulation algorithms for stochastic process algebras and their BDD-based implementation. In: Katoen J-P (ed) Proceedings of the 5th international AMAST workshop ARTS’99, Bamberg, Germany, May 1999. Lecture notes in computer science, vol 1601. Springer, Berlin Heidelberg New York, pp 244–265Google Scholar
  27. 27.
    Hu AJ (1995) Techniques for efficient formal verification using binary decision diagrams. PhD thesis, Stanford University, Stanford, CA, December 1995Google Scholar
  28. 28.
    Ingolfsdottir A, Steffen B (1994) Characteristic formulae for processes with divergence. Inf Comput 110(1):149–163CrossRefzbMATHMathSciNetGoogle Scholar
  29. 29.
    Kupferman O, Vardi M, Wolper P (2000) An automata-theoretic approach to branching-time model checking. J ACM 47(2):312–360CrossRefMathSciNetGoogle Scholar
  30. 30.
    Larsen KG (1992) Efficient local correctness checking. In: v Bochmann G, Probst DK (eds) Proceedings of the 4th international conference on computer-aided verification CAV’92, Montréal, June–July 1992. Lecture notes in computer science, vol 663. Springer, Berlin Heidelberg New York, pp 30–43Google Scholar
  31. 31.
    Liu X, Ramakrishnan CR, Smolka SA (1998) Fully local and efficient evaluation of alternating fixed points. In: Steffen B (ed) Proceedings of the 1st international conference on tools and algorithms for the construction and analysis of systems (TACAS’98), Lisbon, Portugal, March 1998. Lecture notes in computer science, vol 1384. Springer, Berlin Heidelberg New York, pp 5–19Google Scholar
  32. 32.
    Liu X, Smolka SA (1998) Simple linear-time algorithms for minimal fixed points. In: Proceedings of the 25th international colloquium on automata, languages, and programming ICALP’98, Aalborg, Denmark. Lecture notes in computer science, vol 1443. Springer, Berlin Heidelberg New York, pp 53–66Google Scholar
  33. 33.
    Mader A (1997) Verification of modal properties using Boolean equation systems. VERSAL 8, Bertz, BerlinGoogle Scholar
  34. 34.
    Mateescu R (2000) Efficient diagnostic generation for boolean equation systems. In: Graf S, Schwartzbach M (eds) Proceedings of the 6th international conference on tools and algorithms for the construction and analysis of systems (TACAS’2000), Berlin, Germany, March 2000. Lecture notes in computer science, vol 1785. Springer, Berlin Heidelberg New York, pp 251–265. Full version available as INRIA Research Report RR-3861Google Scholar
  35. 35.
    Mateescu R (2002) Local model-checking of modal mu-calculus on acyclic labeled transition systems. In: Katoen J-P, Stevens P (eds) Proceedings of the 8th international conference on tools and algorithms for the construction and analysis of systems (TACAS’2002), Grenoble, France, April 2002. Lecture notes in computer science, vol 2280. Springer, Berlin Heidelberg New York, pp 281–295. Full version available as INRIA Research Report RR-4430Google Scholar
  36. 36.
    Mateescu R, Sighireanu M (2003) Efficient on-the-fly model-checking for regular alternation-free mu-calculus. Sci Comput Programm 46(3):255–281CrossRefzbMATHMathSciNetGoogle Scholar
  37. 37.
    Milner R (1989) Communication and concurrency. Prentice-Hall, Englewood Cliffs, NJGoogle Scholar
  38. 38.
    De Nicola R, Vaandrager FW (1990) Action versus state based logics for transition systems. In: Semantics of concurrency. Lecture notes in computer science, vol 469. Springer, Berlin Heidelberg New York, pp 407–419Google Scholar
  39. 39.
    De Nicola R, Montanari U, Vaandrager F (1990) Back and forth bisimulations. Computer Science Report CS R9021. Centrum voor Wiskunde en Informatica, Amsterdam, May 1990Google Scholar
  40. 40.
    Pace G, Lang F, Mateescu R (2003) Calculating τ-confluence compositionally. In: Hunt WA Jr, Somenzi F (eds) Proceedings of the 15th international conference on computer-aided verification CAV’2003, Boulder, CO, July 2003. Lecture notes in computer science, vol 2725. Springer, Berlin Heidelberg New York, pp 446–459. Full version available as INRIA Research Report RR-4918Google Scholar
  41. 41.
    Park D (1981) Concurrency and automata on infinite sequences. In: Deussen P (ed) Theoretical computer science. Lecture notes in computer science, vol 104. Springer, Berlin Heidelberg New York, pp 167–183Google Scholar
  42. 42.
    Steffen B, Classen A, Klein M, Knoop J, Margaria T (1995) The fixpoint analysis machine. In: Lee J, Smolka SA (eds) Proceedings of the 6th international conference on concurrency theory CONCUR’95, Philadelphia, PA, August 1995. Lecture notes in computer science, vol 962. Springer, Berlin Heidelberg New York, pp 72–87Google Scholar
  43. 43.
    Steffen B, Margaria T, Classen A, Braun V (1996) The METAFrame’95 environment. In: Alur R, Henzinger TA (eds) Proceedings of the 8th conference on computer-aided verification CAV’96, New Brunswick, NJ, August 1996. Lecture notes in computer science, vol 1102. Springer, Berlin Heidelberg New York, pp 450–453Google Scholar
  44. 44.
    Steffen B, Margaria T, Braun V (1997) The Electronic Tool Integration platform: concepts and design. Int J Softw Tools Technol Transfer 1–2(1):9–30Google Scholar
  45. 45.
    Stevens P, Stirling C (1998) Practical model-checking using games. In: Steffen B (ed) Proceedings of the 1st international conference on tools and algorithms for the construction and analysis of systems (TACAS’98), Lisbon, Portugal, March 1998. Lecture notes in computer science, vol 1384. Springer, Berlin Heidelberg New York, pp 85–101Google Scholar
  46. 46.
    Tarjan RE (1972) Depth first search and linear graph algorithms. SIAM J Comput 1(2):146–160CrossRefzbMATHMathSciNetGoogle Scholar
  47. 47.
    Thorup M (2000) Near-optimal fully-dynamic graph connectivity. In: Proceedings of the 32nd ACM symposium on the theory of computing STOC’2000, Portland, ORGoogle Scholar
  48. 48.
    van Glabbeek RJ, Weijland WP (1989) Branching-time and abstraction in bisimulation semantics (extended abstract). Computer Science Report CS R8911, Centrum voor Wiskunde en Informatica, Amsterdam. Also in Proceedings of IFIP 11th World Computer Congress, San Francisco, 1989Google Scholar
  49. 49.
    Vergauwen B, Lewi J (1992) A linear algorithm for solving fixed-point equations on transition systems. In: Proceedings of the 17th colloquium on trees in algebra and programming CAAP’92, Rennes, France, February 1992. Lecture notes in computer science, vol 581. Springer, Berlin Heidelberg New York, pp 322–341Google Scholar
  50. 50.
    Vergauwen B, Lewi J (1994) Efficient local correctness checking for single and alternating boolean equation systems. In: Abiteboul S, Shamir E (eds) Proceedings of the 21st international colloquium on automata, logic, and programming ICALP’94, Vienna, July 1994. Lecture notes in computer science, vol 820. Springer, Berlin Heidelberg New York, pp 304–315Google Scholar
  51. 51.
    Vergauwen B, Wauman J, Lewi J (1994) Efficient fixpoint computation. In: Proceedings of the 1st international symposium on static analysis (SAS’94), Namur, Belgium, September 1994. Lecture notes in computer science, vol 864. Springer, Berlin Heidelberg New York, pp 314–328Google Scholar
  52. 52.
    Yang B, Bryant RE, O’Hallaron DR, Biere A, Coudert O, Janssen G, Ranjan RK, Somenzi F (1998) A performance study of BDD-based model-checking. In: Proceedings of FMCAD’98. Lecture notes in computer science, vol 1522. Springer, Berlin Heidelberg New York, pp 255–289Google Scholar

Copyright information

© Springer-Verlag 2005

Authors and Affiliations

  1. 1.INRIA Rhône-Alpes/VASYMontbonnot St MartinFrance

Personalised recommendations