Partial Order Reductions Using Compositional Confluence Detection

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.

[1]  Jean-Claude Fernandez ALDEBARAN : un système de vérification par réduction de processus communicants. (Aldebaran : a system of verification of communicating processes by using reduction) , 1988 .

[2]  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.

[3]  Ganesh Gopalakrishnan,et al.  An Efficient Partial Order Reduction Algorithm with an Alternative Proviso Implementation , 2002, Formal Methods Syst. Des..

[4]  Mogens Nielsen,et al.  Mathematical Foundations of Computer Science 2000 , 2001, Lecture Notes in Computer Science.

[5]  Antoni Mazurkiewicz,et al.  CONCUR '97: Concurrency Theory , 1997, Lecture Notes in Computer Science.

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

[7]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

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

[9]  Doron A. Peled Combining Partial Order Reductions with On-the-fly Model-Checking , 1994, CAV.

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

[11]  Iso Iec Enhancements to LOTOS (E-LOTOS) , 2001 .

[12]  Grzegorz Rozenberg Advances in Petri Nets 1993 , 1991, Lecture Notes in Computer Science.

[13]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[14]  Scott A. Smolka,et al.  Partial-Order Reduction in the Weak Modal Mu-Calculus , 1997, CONCUR.

[15]  Krishan K. Sabnani,et al.  An algorithmic procedure for checking safety properties of protocols , 1989, IEEE Trans. Commun..

[16]  Mingsheng Ying Weak confluence and tau-inertness , 2000, Theor. Comput. Sci..

[17]  Dimitra Giannakopoulou,et al.  Model checking for concurrent software architectures , 1999 .

[18]  Doron A. Peled,et al.  Combining partial order reductions with on-the-fly model-checking , 1994, Formal Methods Syst. Des..

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

[20]  Thierry Jéron,et al.  On-the-fly verification of finite transition systems , 1992, Formal Methods Syst. Des..

[21]  Antti Valmari,et al.  Stubborn set methods for process algebras , 1997, Partial Order Methods in Verification.

[22]  Gerard J. Holzmann,et al.  Partial Order Methods in Verification , 1997 .

[23]  Andrew S. Tanenbaum,et al.  Network Protocols , 1981, CSUR.

[24]  Scott A. Smolka,et al.  Winston: A Tool for Hierarchical Design and Simulation of Concurrent Systems , 1988, Specification and Verification of Concurrent Systems.

[25]  Wei Jen Yeh Controlling state explosion in reachability analysis , 1993 .

[26]  Laurent Mounier,et al.  Verifying Bisimulations "On the Fly" , 1990, FORTE.

[27]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[28]  Shing-Chi Cheung,et al.  Enhancing compositional reachability analysis with context constraints , 1993, SIGSOFT '93.

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

[30]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

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

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

[33]  Antti Valmari,et al.  A stubborn attack on state explosion , 1990, Formal Methods Syst. Des..

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

[35]  Radu Mateescu,et al.  DISTRIBUTOR and BCG_MERGE: Tools for Distributed Explicit State Space Generation , 2006, TACAS.

[36]  Patrice Godefroid Using Partial Orders to Improve Automatic Verification Methods , 1990, CAV.

[37]  Joseph Sifakis,et al.  Automatic Verification Methods for Finite State Systems , 1989, Lecture Notes in Computer Science.

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

[39]  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.

[40]  Antti Valmari,et al.  Compositional State Space Generation , 1991, Applications and Theory of Petri Nets.

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

[42]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[43]  Jan Friso Groote,et al.  Confluence for Process Verification , 1995, Theor. Comput. Sci..

[44]  Michael Goldsmith,et al.  Hierarchical Compression for Model-Checking CSP or How to Check 1020 Dining Philosophers for Deadlock , 1995, TACAS.

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

[46]  Jan Friso Groote,et al.  The Syntax and Semantics of μCRL , 1995 .

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

[48]  Tricia Walker,et al.  Computer science , 1996, English for academic purposes series.

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

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

[51]  Susanne Graf,et al.  Compositional Minimization of Finite State Systems Using Interface Speciications , 1995 .

[52]  Radu Mateescu,et al.  A Generic On-the-Fly Solver for Alternation-Free Boolean Equation Systems , 2003, TACAS.

[53]  Gerard J. Holzmann,et al.  On-the-fly model checking , 1996, CSUR.

[54]  Jaco van de Pol,et al.  State Space Reduction by Proving Confluence , 2002, CAV.

[55]  Allan Clark,et al.  Semantic-Based Development of Service-Oriented Systems , 2006, FORTE.

[56]  F CAMPOS,et al.  [THE FLY]. , 1963, Revista ecuatoriana de higiene y medicina tropical.

[57]  S. C.C. Blom Partial $\tau$-confluence for efficient state space generation , 2001 .