Partial Order Reduction for State/Event LTL

Software systems assembled from a large number of autonomous components become an interesting target for formal verification due to the issue of correct interplay in component interaction. State/event LTL [1,2] incorporates both states and events to express important properties of component-based software systems. The main contribution of the paper is a partial order reduction technique for verification of state/event LTL properties. The core of the partial order reduction is a novel notion of stuttering equivalence which we call state/event stuttering equivalence. The positive attribute of the equivalence is that it can be resolved with existing methods for partial order reduction. State/event LTL properties are, in general, not preserved under state/event stuttering equivalence. To this end we define a new logic, called weak state/event LTL, which is invariant under the new equivalence.

[1]  Joël Ouaknine,et al.  State/Event-Based Software Model Checking , 2004, IFM.

[2]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[3]  Raffaela Mirandola,et al.  The Common Component Modeling Example: Comparing Software Component Models [result from the Dagstuhl research seminar for CoCoME, August 1-3, 2007] , 2007, CoCoME.

[4]  Thomas A. Henzinger,et al.  INTERFACE-BASED DESIGN , 2005 .

[5]  Dragan Bosnacki,et al.  Partial-order reduction for general state exploring algorithms , 2006, International Journal on Software Tools for Technology Transfer.

[6]  Lubos Brim,et al.  Component-Interaction Automata Approach (CoIn) , 2007, CoCoME.

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

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

[9]  Doron A. Peled,et al.  Stutter-Invariant Temporal Properties are Expressible Without the Next-Time Operator , 1997, Inf. Process. Lett..

[10]  Doron A. Peled,et al.  Ten Years of Partial Order Reduction , 1998, CAV.

[11]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[12]  Joël Ouaknine,et al.  Concurrent software verification with states, events, and deadlocks , 2005, Formal Aspects of Computing.

[13]  Jun Sun,et al.  Specifying and Verifying Event-Based Fairness Enhanced Systems , 2008, ICFEM.

[14]  Lubos Brim,et al.  DiVinE - A Tool for Distributed Verification , 2006, CAV.

[15]  Doron A. Peled,et al.  All from One, One for All: on Model Checking Using Representatives , 1993, CAV.

[16]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[17]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

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

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

[20]  Steve A. Schneider,et al.  ZB 2005: Formal Specification and Development in Z and B, 4th International Conference of B and Z Users, Guildford, UK, April 13-15, 2005, Proceedings , 2005, ZB.

[21]  Pavlína Vareková,et al.  A Case Study in Parallel Verification of Component-Based Systems , 2008, Electron. Notes Theor. Comput. Sci..

[22]  Heike Wehrheim,et al.  Slicing Object-Z Specifications for Verification , 2005, ZB.

[23]  Lubos Brim,et al.  Component-interaction automata as a verification-oriented component-based system specification , 2006, ACM SIGSOFT Softw. Eng. Notes.

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