Partial Model Checking using Networks of Labelled Transition Systems and Boole an Equation Systems

Partial model checking was proposed by Andersen in 1995 to verify a temporal logic formula compositionally on a composition of processes. It consists in incrementally incorporating into the formula the behavioural information taken from one process - an operation called quotienting - to obtain a new formula that can be verified on a smaller composition from which the incorporated process has been removed. Simplifications of the formula must be applied at each step, so as to maintain the formula at a tractable size. In this paper, we revisit partial model checking. First, we extend quotienting to the network of labelled transition systems model, which subsumes most parallel composition operators, including $m$-among-$n$ synchronisation and parallel composition using synchronisation interfaces, available in the ELOTOS standard. Second, we reformulate quotienting in terms of a simple synchronous product between a graph representation of the formula (called formula graph) and a process, thus enabling quotienting to be implemented efficiently and easily, by reusing existing tools dedicated to graph compositions. Third, we propose simplifications of the formula as a combination of bisimulations and reductions using Boolean equation systems applied directly to the formula graph, thus enabling formula simplifications also to be implemented efficiently. Finally, we describe an implementation in the CADP (Construction and Analysis of Distributed Processes) toolbox and present some experimental results in which partial model checking uses hundreds of times less memory than on-the-fly model checking.

[1]  Radu Mateescu,et al.  Partial Order Reductions Using Compositional Confluence Detection , 2009, FM.

[2]  Gwen Salaün,et al.  Translating FSP into LOTOS and networks of automata , 2007, Formal Aspects of Computing.

[3]  Frédéric Lang,et al.  SVL: A Scripting Language for Compositional Verification , 2001, FORTE.

[4]  Radu Mateescu,et al.  CAESAR_SOLVE: A generic library for on-the-fly resolution of alternation-free Boolean equation systems , 2006, International Journal on Software Tools for Technology Transfer.

[5]  Frédéric Lang,et al.  Smart Reduction , 2011, FASE.

[6]  Radu Mateescu,et al.  CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes , 2011, TACAS.

[7]  André Arnold,et al.  MEC: A System for Constructing and Analysis Transition Systems , 1990, AMAST.

[8]  Frédéric Lang,et al.  Exp.Open 2.0: A Flexible Tool Integrating Partial Order, Compositional, and On-The-Fly Verification Methods , 2005, IFM.

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

[10]  Li Xuandong,et al.  Compositional model-checking for real-time systems , 1998, SOEN.

[11]  Robert S. Streett Propositional Dynamic Logic of looping and converse , 1981, STOC '81.

[12]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[13]  Dexter Kozen,et al.  Results on the Propositional µ-Calculus , 1982, ICALP.

[14]  Laurent Mounier,et al.  Compositional State Space Generation from Lotos Programs , 1997, TACAS.

[15]  Fabio Martinelli Symbolic Partial Model Checking for Security Analysis , 2003, MMM-ACNS.

[16]  Frédéric Lang,et al.  Refined Interfaces for Compositional Verification , 2006, FORTE.

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

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

[19]  Holger Hermanns,et al.  On Combining Functional Verification and Performance Evaluation Using CADP , 2002, FME.

[20]  Hubert Garavel,et al.  Verification of GALS Systems by Combining Synchronous Languages and Process Calculi , 2009, SPIN.

[21]  Wang Yi,et al.  Compositional and symbolic model-checking of real-time systems , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

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

[23]  Radu Mateescu,et al.  On-the-fly state space reductions for weak equivalences , 2005, FMICS '05.

[24]  Radu Mateescu,et al.  Partial Model Checking Using Networks of Labelled Transition Systems and Boolean Equation Systems , 2012, TACAS.

[25]  Kåre J. Kristoffersen,et al.  Verification of State/Event Systems by Quotienting , 1999 .

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

[27]  Henrik Reif Andersen,et al.  Partial model checking of modal equations: A survey , 1999, International Journal on Software Tools for Technology Transfer.

[28]  François Laroussinie,et al.  Model-Checking for Hybrid Systems by Quotienting and Constraints Solving , 2000, CAV.

[29]  Kim G. Larsen,et al.  CMC: A Tool for Compositional Model-Checking of Real-Time Systems , 1998, FORTE.

[30]  Radu Mateescu,et al.  A Model Checking Language for Concurrent Value-Passing Systems , 2008, FM.

[31]  C. R. Ramakrishnan,et al.  Compositional Analysis for Verification of Parameterized Systems , 2003, TACAS.

[32]  Bernhard Steffen,et al.  Compositional Minimization of Finite State Systems , 1990, CAV.

[33]  Iso. Lotos,et al.  A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour , 1985 .

[34]  Jørgen Staunstrup,et al.  Partial Model Checking with ROBDDs , 1997, TACAS.

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

[36]  Stephan Merz,et al.  Model Checking , 2000 .

[37]  Mihaela Sighireanu,et al.  A Graphical Parallel Composition Operator for Process Algebras , 1999, FORTE.

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

[39]  Gwen Salaün,et al.  Translating Pi-Calculus into LOTOS NT , 2010, IFM.

[40]  Joseph Sifakis,et al.  Fairness and related properties in transition systems — a temporal logic to deal with fairness , 1983, Acta Informatica.

[41]  Radu Mateescu,et al.  CADP 2011: a toolbox for the construction and analysis of distributed processes , 2012, International Journal on Software Tools for Technology Transfer.

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

[43]  Radu Mateescu,et al.  CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes , 2007, CAV.

[44]  Jørgen Staunstrup,et al.  A Comparison of Modular Verification Techniques , 1997, TAPSOFT.

[45]  Henrik Reif Andersen,et al.  Partial model checking , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

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