The mCRL2 Toolset for Analysing Concurrent Systems - Improvements in Expressivity and Usability

Reasoning about the correctness of parallel and distributed systems requires automated tools. By now, the mCRL2 toolset and language have been developed over a course of more than fifteen years. In this paper, we report on the progress and advancements over the past six years. Firstly, the mCRL2 language has been extended to support the modelling of probabilistic behaviour. Furthermore, the usability has been improved with the addition of refinement checking, counterexample generation and a user-friendly GUI. Finally, several performance improvements have been made in the treatment of behavioural equivalences. Besides the changes to the toolset itself, we cover recent applications of mCRL2 in software product line engineering and the use of domain specific languages (DSLs).

[1]  Jeroen Keiren,et al.  Liveness Analysis for Parameterised Boolean Equation Systems , 2014, ATVA.

[2]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[3]  Jan Friso Groote,et al.  Parameterised boolean equation systems , 2005, Theor. Comput. Sci..

[4]  Anton Wijs,et al.  The SLCO Framework for Verified, Model-Driven Construction of Component Software , 2018, FACS.

[5]  Jan Friso Groote,et al.  Verification of Temporal Properties of Processes in a Setting with Data , 1998, AMAST.

[6]  Claus Brabrand,et al.  Family-Based Model Checking Without a Family-Based Model Checker , 2015, SPIN.

[7]  Jan Friso Groote,et al.  A linear translation from CTL* to the first-order modal μ -calculus , 2011, Theor. Comput. Sci..

[8]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[9]  Christel Baier,et al.  Deciding Bisimilarity and Similarity for Probabilistic Processes , 2000, J. Comput. Syst. Sci..

[10]  Bas Luttik,et al.  Proof Graphs for Parameterised Boolean Equation Systems , 2013, CONCUR.

[11]  Jan Friso Groote,et al.  Modeling and Analysis of Communicating Systems , 2014 .

[12]  John E. Hopcroft,et al.  An n log n algorithm for minimizing states in a finite automaton , 1971 .

[13]  Erik P. de Vink,et al.  Family-Based Model Checking of SPL based on mCRL2 , 2017, SPLC.

[14]  Jan Friso Groote,et al.  An Efficient Algorithm for Branching Bisimulation and Stuttering Equivalence , 1990, ICALP.

[15]  Bas Luttik,et al.  Evidence for Fixpoint Logic , 2015, CSL.

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

[17]  Antti Valmari,et al.  Efficient Minimization of DFAs with Partial Transition Functions , 2008, STACS.

[18]  Jan Friso Groote,et al.  Formalising the Dezyne Modelling Language in mCRL2 , 2017, FMICS-AVoCS.

[19]  Rob J. van Glabbeek,et al.  Analysing AWN-Specifications Using mCRL2 (Extended Abstract) , 2018, IFM.

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

[21]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[22]  Jan Friso Groote,et al.  Solving Parameterised Boolean Equation Systems with Infinite Data Through Quotienting , 2018, FACS.

[23]  Jan Friso Groote,et al.  An O(mlogn) Algorithm for Computing Stuttering Equivalence and Branching Bisimulation , 2017, ACM Trans. Comput. Log..

[24]  Erik P. de Vink,et al.  Towards a Feature mu-Calculus Targeting SPL Verification , 2016, FMSPLE.

[25]  Jun Sun,et al.  More Anti-chain Based Refinement Checking , 2012, ICFEM.

[26]  Alfons Laarman,et al.  LTSmin: High-Performance Language-Independent Model Checking , 2015, TACAS.

[27]  Jan Friso Groote,et al.  Verification of a sliding window protocol in μCRL and PVS , 2005, Formal Aspects of Computing.

[28]  Jan Friso Groote,et al.  Focus points and convergent process operators: a proof strategy for protocol verification , 2001, J. Log. Algebraic Methods Program..

[29]  Erik P. de Vink,et al.  An Efficient Algorithm to Determine Probabilistic Bisimulation , 2018, Algorithms.

[30]  Jan Friso Groote,et al.  The Syntax and Semantics of mCRL , 1994 .

[31]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[32]  Erik P. de Vink,et al.  Using mCRL2 for the analysis of software product lines , 2014, FormaliSE 2014.

[33]  Erik P. de Vink,et al.  Family-Based Model Checking with mCRL2 , 2017, FASE.

[34]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[35]  Sjoerd Cranen,et al.  Abstraction in Fixpoint Logic , 2015, ACM Trans. Comput. Log..

[36]  Roberto Segala,et al.  Modeling and verification of randomized distributed real-time systems , 1996 .

[37]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[38]  Bernardo Toninho,et al.  A Static Verification Framework for Message Passing in Go Using Behavioural Types , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[39]  Jan A. Bergstra,et al.  The Algebra of Recursively Defined Processes and the Algebra of Regular Processes , 1984, ICALP.

[40]  R.H. Dennard,et al.  Design Of Ion-implanted MOSFET's with Very Small Physical Dimensions , 1974, Proceedings of the IEEE.

[41]  Erik P. de Vink,et al.  Problem Solving Using Process Algebra Considered Insightful , 2017, ModelEd, TestEd, TrustEd.

[42]  Jun Sun,et al.  PAT: Towards Flexible Verification under Fairness , 2009, CAV.

[43]  Rafael Martínez-Torres,et al.  Extending mCRL2 with ready simulation and iocos input-output conformance simulation , 2015, SAC.

[44]  Kees Verstoep,et al.  Using Model Checking to Analyze the System Behavior of the LHC Production Grid , 2012, 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012).

[45]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

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

[47]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[48]  Tim A. C. Willemse,et al.  Evidence Extraction from Parameterised Boolean Equation Systems , 2018, ARQNL@IJCAR.

[49]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[50]  Giuliana Franceschinis,et al.  Simple O(m logn) Time Markov Chain Lumping , 2010, TACAS.