Smart Reduction

Compositional aggregation is a technique to palliate state explosion --the phenomenon that the behaviour graph of a parallel composition of asynchronous processes grows exponentially with the number of processes -- which is the main drawback of explicit-state verification. It consists in building the behaviour graph by incrementally composing and minimizing parts of the composition modulo an equivalence relation. Heuristics have been proposed for finding an appropriate composition order that keeps the size of the largest intermediate graph small enough. Yet the underlying composition models are not general enough for systems involving elaborate forms of synchronization, such as multiway and/or nondeterministic synchronizations. We overcome this by proposing a generalization of compositional aggregation that applies to an expressive composition model based on synchronization vectors, subsuming many composition operators. Unlike some algebraic composition models, this model enables any composition order to be used. We also present an implementation of this approach within the Cadp verification toolbox in the form of a new operator called smart reduction, as well as experimental results assessing the efficiency of smart reduction.

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

[2]  Mariëlle Stoelinga,et al.  Dynamic Fault Tree Analysis Using Input/Output Interactive Markov Chains , 2007, 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN'07).

[3]  Robert de Simone,et al.  The FC2TOOLS Set , 1996, AMAST.

[4]  Nadia Tawbi,et al.  Specification and Verification of the PowerScale , 2022 .

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

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

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

[8]  Mohamed Nassim Seghir,et al.  A Lightweight Approach for Loop Summarization , 2011, ATVA.

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

[10]  Peter A. Lindsay,et al.  FME 2002:Formal Methods—Getting IT Right , 2002, Lecture Notes in Computer Science.

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

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

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

[14]  Matthias Kuntz,et al.  Architectural dependability evaluation with Arcade , 2008, 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).

[15]  Frédéric Tronel,et al.  Compositional Verification Using CADP of the ScalAgent Deployment Protocol for Software Components , 2003, FMOODS.

[16]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

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

[18]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[19]  Holger Hermanns,et al.  Aggregation Ordering for Massively Compositional Models , 2010, 2010 10th International Conference on Application of Concurrency to System Design.

[20]  Shing-Chi Cheung,et al.  Behaviour Analysis of Distributed Systems Using the Tracta Approach , 2004, Automated Software Engineering.

[21]  Holger Hermanns,et al.  Quantitative Evaluation in Embedded System Design: Validation of Multiprocessor Multithreaded Architectures , 2008, 2008 Design, Automation and Test in Europe.

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

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

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

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

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

[27]  Javier Cubo,et al.  A Model-Based Approach to the Verification and Adaptation of WF/.NET Components , 2008, Electron. Notes Theor. Comput. Sci..

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

[29]  Nelson Souto Rosa,et al.  A LOTOS Framework for Middleware Specification , 2006, FORTE.

[30]  Mamoun Filali,et al.  Fiacre: an Intermediate Language for Model Verification in the Topcased Environment , 2008 .

[31]  Joost-Pieter Katoen,et al.  Automated compositional Markov chain generation for a plain-old telephone system , 2000, Sci. Comput. Program..

[32]  Hasan Sözer,et al.  Architectural Availability Analysis of Software Decomposition for Local Recovery , 2009, 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement.

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

[34]  Giuseppe Scollo,et al.  Architectural Unit Testing , 2004, MBT.

[35]  Mariëlle Stoelinga,et al.  A Compositional Semantics for Dynamic Fault Trees in Terms of Interactive Markov Chains , 2007, ATVA.

[36]  Sebastián Uchitel,et al.  LTSA-WS: a tool for model-based verification of web service compositions and choreography , 2006, ICSE.