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

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 .

[1]  Radu Mateescu,et al.  SEQ.OPEN: A Tool for Efficient Trace-Based Verification , 2004, SPIN.

[2]  Thierry Jéron,et al.  Using On-The-Fly Verification Techniques for the Generation of test Suites , 1996, CAV.

[3]  Jan Friso Groote,et al.  Solving Disjunctive/Conjunctive Boolean Equation Systems with Alternating Fixed Points , 2004, TACAS.

[4]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[5]  Rob J. van Glabbeek,et al.  Branching Time and Abstraction in Bisimulation Semantics (Extended Abstract) , 1989, IFIP Congress.

[6]  Rance Cleaveland,et al.  Local model checking and protocol analysis , 1999, International Journal on Software Tools for Technology Transfer.

[7]  Rance Cleaveland,et al.  A Semantics Based Verification Tool for Finite State Systems , 1989, PSTV.

[8]  Tiziana Margaria,et al.  The Electronic Tool Integration platform: concepts and design , 1997, International Journal on Software Tools for Technology Transfer.

[9]  C. R. Ramakrishnan,et al.  Fully Local and Efficient Evaluation of Alternating Fixed Points (Extended Abstract) , 1998, TACAS.

[10]  Jan Friso Groote,et al.  State Space Reduction Using Partial tau-Confluence , 2000, MFCS.

[11]  J. F. Groote,et al.  State space reduction using partial τ-confluence , 2000 .

[12]  Bernhard Steffen,et al.  Characteristic Formulae for Processes with Divergence , 1994, Inf. Comput..

[13]  Rance Cleaveland,et al.  A linear-time model-checking algorithm for the alternation-free modal mu-calculus , 1993, Formal Methods Syst. Des..

[14]  Alan J. Hu,et al.  Techniques for efficient formal verification using binary decision diagrams , 1995 .

[15]  Tiziana Margaria,et al.  The METAFrame'95 Environment , 1996, CAV.

[16]  Rance Cleaveland,et al.  Computing Behavioural Relations, Logically , 1991, ICALP.

[17]  Jos C. M. Baeten,et al.  Another look at abstraction in process algebra , 1987 .

[18]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[19]  Radu Mateescu,et al.  Efficient Diagnostic Generation for Boolean Equation Systems , 2000, TACAS.

[20]  Radu Mateescu,et al.  An overview of CADP 2001 , 2001 .

[21]  Rance Cleaveland,et al.  A linear-time model-checking algorithm for the alternation-free modal mu-calculus , 1993, Formal Methods Syst. Des..

[22]  Tiziana Margaria,et al.  The Fixpoint-Analysis Machine , 1995, CONCUR.

[23]  Angelika Mader,et al.  Verification of modal properties using Boolean equation systems , 1997 .

[24]  Kim G. Larsen,et al.  Efficient Local Correctness Checking , 1992, CAV.

[25]  Paul Crubillé,et al.  A Linear Algorithm to Solve Fixed-Point Equations on Transition Systems , 1988, Inf. Process. Lett..

[26]  Scott A. Smolka,et al.  Simple Linear-Time Algorithms for Minimal Fixed Points (Extended Abstract) , 1998, ICALP.

[27]  Laurent Mounier,et al.  "On the Fly" Verification of Behavioural Equivalences and Preorders , 1991, CAV.

[28]  Henrik Reif Andersen Model Checking and Boolean Graphs , 1992, ESOP.

[29]  Joseph Sifakis,et al.  Safety for Branching Time Semantics , 1991, ICALP.

[30]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[31]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[32]  Rocco De Nicola,et al.  Action versus State based Logics for Transition Systems , 1990, Semantics of Systems of Concurrent Processes.

[33]  E BryantRandal Graph-Based Algorithms for Boolean Function Manipulation , 1986 .

[34]  Radu Mateescu,et al.  Local Model-Checking of Modal Mu-Calculus on Acyclic Labeled Transition Systems , 2002, TACAS.

[35]  Rocco De Nicola,et al.  Back and Forth Bisimulations , 1990, CONCUR.

[36]  Holger Hermanns,et al.  Bisimulation Algorithms for Stochastic Process Algebras and Their BDD-Based Implementation , 1999, ARTS.

[37]  Perdita Stevens,et al.  Practical Model-Checking Using Games , 1998, TACAS.

[38]  Hubert Garavel,et al.  OPEN/CÆSAR: An OPen Software Architecture for Verification, Simulation, and Testing , 1998, TACAS.

[39]  Richard E. Ladner,et al.  Propositional Dynamic Logic of Regular Programs , 1979, J. Comput. Syst. Sci..

[40]  Bart Vergauwen,et al.  Efficient Checking of Behavioural Relations and Modal Assertions using Fixed-Point Inversion , 1995, CAV.

[41]  Gordon J. Pace,et al.  Calculating-Confluence Compositionally , 2003, CAV.

[42]  Edmund M. Clarke,et al.  Efficient generation of counterexamples and witnesses in symbolic model checking , 1995, DAC '95.

[43]  Johan Lewi,et al.  A Linear Algorithm for Solving Fixed-Point Equations on Transition Systems , 1992, CAAP.

[44]  Jos C. M. Baeten,et al.  Another Look at Abstraction in Process Algebra (Extended Abstract) , 1987, ICALP.

[45]  Johan Lewi,et al.  Efficient FixPoint Computation , 1994, SAS.

[46]  Olivier Coudert,et al.  A Performance Study of BDD-Based Model Checking , 1998, FMCAD.

[47]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

[48]  Jean H. Gallier,et al.  Linear-Time Algorithms for Testing the Satisfiability of Propositional Horn Formulae , 1984, J. Log. Program..

[49]  Mihaela Sighireanu,et al.  Efficient on-the-fly model-checking for regular alternation-free mu-calculus , 2003, Sci. Comput. Program..

[50]  Mikkel Thorup,et al.  Near-optimal fully-dynamic graph connectivity , 2000, STOC '00.

[51]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[52]  Johan Lewi,et al.  Efficient Local Correctness Checking for Single and Alternating Boolean Equation Systems , 1994, ICALP.

[53]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.