Regular Model Checking for LTL(MSO)

Regular model checking is a form of symbolic model checking for parameterized and infinite-state systems whose states can be represented as words of arbitrary length over a finite alphabet, in which regular sets of words are used to represent sets of states. We present LTL(MSO), a combination of the logics MSO and LTL as a natural logic for expressing temporal properties to be verified in regular model checking. LTL(MSO) is a two-dimensional modal logic, where MSO is used for specifying properties of system states and transitions, and LTL is used for specifying temporal properties. In addition, the first-order quantification in MSO can be used to express properties parameterized on a position or process. We give a technique for model checking LTL(MSO), which is adapted from the automata-theoretic approach: a formula is translated to a (Buchi) transducer with a regular set of accepting states, and regular model checking techniques are used to search for models. We have implemented the technique and show its application to a number of parameterized algorithms from the literature.

[1]  Vineet Kahlon,et al.  Rapid Parameterized Model Checking of Snoopy Cache Coherence Protocols , 2003, TACAS.

[2]  Giorgio Delzanno Automatic Verification of Parameterized Cache Coherence Protocols , 2000, CAV.

[3]  Pierre Wolper,et al.  Verifying Systems with Infinite but Regular State Spaces , 1998, CAV.

[4]  Marcus Nilsson,et al.  Regular Model Checking , 2000, CAV.

[5]  Marcus Nilsson,et al.  Transitive Closures of Regular Relations for Verifying Infinite-State Systems , 2000, TACAS.

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

[7]  Vineet Kahlon,et al.  Reducing Model Checking of the Many to the Few , 2000, CADE.

[8]  Kedar S. Namjoshi,et al.  Reasoning about rings , 1995, POPL '95.

[9]  Pierre Wolper,et al.  Iterating Transducers in the Large (Extended Abstract) , 2003, CAV.

[10]  A. Prasad Sistla,et al.  Reasoning about systems with many processes , 1992, JACM.

[11]  Parosh Aziz Abdulla,et al.  Algorithmic Improvements in Regular Model Checking , 2003, CAV.

[12]  Amir Pnueli,et al.  Liveness with (0, 1, infty)-Counter Abstraction , 2002, CAV.

[13]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[14]  A. Prasad Sistla,et al.  Parametrized Verification of Linear Networks Using Automata as Invariants , 1997, CAV.

[15]  Amir Pnueli,et al.  Liveness and Acceleration in Parameterized Verification , 2000, CAV.

[16]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[17]  Karsten Stahl,et al.  Verification of Parameterized Protocols , 2001, J. Univers. Comput. Sci..

[18]  Parosh Aziz Abdulla,et al.  Regular Model Checking Made Simple and Efficient , 2002, CONCUR.

[19]  Antonio Restivo,et al.  Two-Dimensional Languages , 1997, Handbook of Formal Languages.

[20]  Nils Klarlund,et al.  Mona: Monadic Second-Order Logic in Practice , 1995, TACAS.