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 monadic second-order logic (MSO) and LTL as a natural logic for expressing the temporal properties to be verified in regular model checking. In other words, LTL(MSO) is a natural specification language for both the system and the property under consideration. 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 regular transition system 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]  Marcus Nilsson,et al.  Transitive Closures of Regular Relations for Verifying Infinite-State Systems , 2000, TACAS.

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

[3]  Amir Pnueli,et al.  ON TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS , 2006 .

[4]  G. S. Graham A New Solution of Dijkstra ' s Concurrent Programming Problem , 2022 .

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

[6]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

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

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

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

[10]  Amir Pnueli,et al.  Automatic Deductive Verification with Invisible Invariants , 2001, TACAS.

[11]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

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

[13]  E. Pascal Gribomont,et al.  Automated Verification of Szymanski's Algorithm , 1998, TACAS.

[14]  P. Wolper,et al.  Handling Liveness Properties in ( ω-) Regular Model Checking , 2004 .

[15]  Andrew S. Tanenbaum,et al.  Computer Networks , 1981 .

[16]  Dana Fisman,et al.  On Verifying Fault Tolerance of Distributed Protocols , 2008, TACAS.

[17]  Boleslaw K. Szymanski Mutual exclusion revisited , 1990, Proceedings of the 5th Jerusalem Conference on Information Technology, 1990. 'Next Decade in Information Technology'.

[18]  Javier Esparza,et al.  Model-Checking LTL with Regular Valuations for Pushdown Systems , 2001, TACS.

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

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

[21]  Moshe Y. Vardi Verification of Concurrent Programs: The Automata-Theoretic Framework , 1991, Ann. Pure Appl. Log..

[22]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

[23]  Amir Pnueli The Temporal Semantics of Concurrent Programs , 1981, Theor. Comput. Sci..

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

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

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

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

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

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

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

[31]  Parosh Aziz Abdulla,et al.  Regular Model Checking for LTL(MSO) , 2004, CAV.

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

[33]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

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

[35]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[36]  Wolfgang Thomas,et al.  Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics , 1990 .

[37]  Nils Klarlund,et al.  MONA: Monadic Second-Order Logic in Practice , 1995 .

[38]  Amir Pnueli,et al.  Liveness with (0, 1, ∞)-counter abstraction , 2002 .

[39]  W. H. J. Feijen,et al.  Derivation of a termination detection algorithm for distributed computations , 1986 .

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