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 .
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Andersen HR (1994) Model checking and boolean graphs. Theor Comput Sci 126(1):3–30
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–154
Arnold A, Crubillé P (1988) A linear algorithm to solve fixed-point equations on transition systems. Inf Process Lett 29(1):57–66
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–94
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 York
Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput C-35(8):677–691
Mateescu R (2005) Man page of the Caesar_Solve_1 library. INRIA Rhône-Alpes/VASY, January 2005
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–263
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–432
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–72
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–138
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–58
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–147
Dowling WF, Gallier JH (1984) Linear-time algorithms for testing the satisfiability of propositional Horn formulae. J Logic Programm 3:267–284
Du X, Smolka SA, Cleaveland R (1999) Local model checking and protocol analysis. Int J Softw Tools Technol Transfer 2(3):219–241
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–278
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–10
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–359
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 York
Fischer MJ, Ladner RE (1979) Propositional dynamic logic of regular programs. J Comput Syst Sci (18):194–211
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-3352
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-0254
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–155
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–450
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–393
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–265
Hu AJ (1995) Techniques for efficient formal verification using binary decision diagrams. PhD thesis, Stanford University, Stanford, CA, December 1995
Ingolfsdottir A, Steffen B (1994) Characteristic formulae for processes with divergence. Inf Comput 110(1):149–163
Kupferman O, Vardi M, Wolper P (2000) An automata-theoretic approach to branching-time model checking. J ACM 47(2):312–360
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–43
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–19
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–66
Mader A (1997) Verification of modal properties using Boolean equation systems. VERSAL 8, Bertz, Berlin
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-3861
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-4430
Mateescu R, Sighireanu M (2003) Efficient on-the-fly model-checking for regular alternation-free mu-calculus. Sci Comput Programm 46(3):255–281
Milner R (1989) Communication and concurrency. Prentice-Hall, Englewood Cliffs, NJ
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–419
De Nicola R, Montanari U, Vaandrager F (1990) Back and forth bisimulations. Computer Science Report CS R9021. Centrum voor Wiskunde en Informatica, Amsterdam, May 1990
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-4918
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–183
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–87
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–453
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–30
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–101
Tarjan RE (1972) Depth first search and linear graph algorithms. SIAM J Comput 1(2):146–160
Thorup M (2000) Near-optimal fully-dynamic graph connectivity. In: Proceedings of the 32nd ACM symposium on the theory of computing STOC’2000, Portland, OR
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, 1989
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–341
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–315
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–328
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–289
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Mateescu, R. CAESAR_SOLVE: A generic library for on-the-fly resolution of alternation-free Boolean equation systems. Int J Softw Tools Technol Transfer 8, 37–56 (2006). https://doi.org/10.1007/s10009-005-0194-9
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-005-0194-9