Identifying state space reduction techniques from behavioural design patterns

Model checking has always been associated with a scalability problem when verifying systems with large state spaces. This problem can be addressed using techniques that reduce the state space during verification. This paper proposes guidelines to identify suitable reduction techniques from design patterns. The selection of suitable state space reduction techniques is demonstrated using a complex concurrent system as case study. Using this case study, we discuss the reasons and conditions for selecting a reduction technique when a design pattern is used. The proposed guidelines are evaluated by checking if the selected reduction techniques reduces the number of states; implying that these techniques are suitable. The result of this evaluation shows that suitable reduction techniques can be identified from design patterns.

[1]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

[2]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[3]  J. Place,et al.  Joint Tactical Radio System , 2000, MILCOM 2000 Proceedings. 21st Century Military Communications. Architectures and Technologies for Information Superiority (Cat. No.00CH37155).

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[6]  Sarfraz Khurshid,et al.  Test input generation with java PathFinder , 2004, ISSTA '04.

[7]  Carlo A. Furia,et al.  A Compositional World , 2005 .

[8]  Xiang Fu,et al.  Design for verification for asynchronously communicating Web services , 2005, WWW '05.

[9]  John Penix,et al.  Design for Verification with Dynamic Assertions , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[10]  Tevfik Bultan,et al.  Highly dependable concurrent programming using design for verification , 2007, Formal Aspects of Computing.

[11]  Muffy Calder,et al.  Symmetry in temporal logic model checking , 2006, CSUR.

[12]  James C. Browne,et al.  A Formal Object-Oriented Analysis for Software Reliability: Design for Verification , 2001, FASE.