Cluster-Based Partial-Order Reduction

The verification of concurrent systems through an exhaustive traversal of the state space suffers from the infamous state-space-explosion problem, caused by the many interleavings of actions of different processes in the system. Partial-order reduction is a well-known technique to tackle this problem. In this paper, we present an enhancement of the partial-order-reduction scheme of Holzmann and Peled that uses the hierarchical structure of concurrent systems. Our technique tries to contain dependencies between actions within clusters of processes, capitalizing on the independence of actions in different clusters to reduce the state space to be verified while preserving properties of interest. The paper starts with a formalization of the partial-order-reduction technique and continues with a presentation of our enhanced technique, including a correctness argument. The new technique has been implemented in the verification tool SPIN. We present implementation details, some small experiments, and one larger case study using a cache coherency protocol. The experimental results are encouraging. Compared to standard partial-order reduction, improvements in reductions are obtained from 21% up to 98% in the number of states and 34% up to 99% in the number of state transitions.

[1]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[2]  Antti Valmari A stubborn attack on state explosion , 1992, Formal Methods Syst. Des..

[3]  Antti Valmari,et al.  Stubborn sets for reduced state generation , 1991 .

[4]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[5]  Gerard J. Holzmann,et al.  The Engineering of a Model Checker: The Gnu i-Protocol Case Study Revisited , 1999, SPIN.

[6]  Rajeev Alur,et al.  Heuristics for Hierarchical Partitioning with Application to Model Checking , 2000, CHARME.

[7]  Marius Minea,et al.  Partial Order Reduction for Model Checking of Timed Automata , 1999, CONCUR.

[8]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[9]  J. C. M. Baeten,et al.  Applications of Process Algebra (Cambridge Tracts in Theoretical Computer Science) , 2004 .

[10]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[11]  Rajeev Alur,et al.  "Next" Heuristic for On-the-Fly Model Checking , 1999, CONCUR.

[12]  Gerard J. Holzmann,et al.  Coverage Preserving Reduction Strategies for Reachability Analysis , 1992, PSTV.

[13]  Y. Marignac,et al.  Note , 1951, Neurochemistry International.

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

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

[16]  Stephen D. Crocker,et al.  Verification of Concurrent Systems: Function and Timing , 1982, PSTV.

[17]  Somesh Jha,et al.  Combining Partial Order and Symmetry Reductions , 1997, TACAS.

[18]  Ruurd Kuiper,et al.  Partial-order Reduction Techniques for Real-time Model Checking , 1998, Formal Aspects of Computing.

[19]  Luca Benini,et al.  Networks on Chips : A New SoC Paradigm , 2022 .

[20]  Gerard J. Holzmann,et al.  v-Promela: a visual, object-oriented language for SPIN , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[21]  Wang Yi,et al.  Partial Order Reductions for Timed Systems , 1998, CONCUR.

[22]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.

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

[24]  Pierre Wolper,et al.  Partial-order methods for model checking: from linear time to branching time , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[25]  Stefan Leue,et al.  VIP: A Visual Editor and Compiler for v-Promela , 2000, TACAS.

[26]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State-Space Exploration , 2001, Formal Methods Syst. Des..

[27]  Dragan Bosnacki,et al.  Enhancing partial-order reduction via process clustering , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[28]  Thomas Kunz,et al.  Using Automatic Process Clustering for Design Recovery and Distributed Debugging , 1995, IEEE Trans. Software Eng..

[29]  Dragan Bosnacki,et al.  Integrating Real Time into Spin: A Prototype Implementation , 1998, FORTE.

[30]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State Space Exploration , 1997, CAV.

[31]  Dragan Bosnacki Partial Order Reduction in Presence of Rendez-vous Communications with Unless Constructs and Weak Fairness , 1999, SPIN.

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

[33]  Antti Valmari,et al.  Stubborn sets for reduced state space generation , 1991, Applications and Theory of Petri Nets.

[34]  J. C. Mulder,et al.  A modular approach to protocol verification using process algebra , 1986 .

[35]  Hugh Garraway Parallel Computer Architecture: A Hardware/Software Approach , 1999, IEEE Concurrency.

[36]  Pierre Wolper,et al.  Using partial orders for the efficient verification of deadlock freedom and safety properties , 1991, Formal Methods Syst. Des..