An LTL verification system based on automata theory

A tool for the design and veri cation of reactive systems has been developed at the University of Stellenbosch. On-they model checking is used to check correctness properties expressed in CTL (Computation Tree Logic). The system to be veri ed is modelled in a speci cation language called ESML. This thesis describes the implementation of an LTL (Linear Time Logic) model checker for ESML. The new model checker is based on automata theory, but uses the same state generator as the CTL model checker. The approach taken is to translate LTL formulas to B uchi automata before the model checking procedure. Veri cation proceeds by checking the emptiness of the product of the B uchi automaton and state graph generated from the ESML model. The algorithms needed to build the B uchi automaton from an LTL formula, the state generation strategy used in the model checker, and the algorithm to compute the product of the state graph and B uchi automaton are given. Evaluation of the new model checker involved testing and comparison against SPIN and the CTL model checker for ESML. Some e ciency issues are discussed.

[1]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[2]  E. Clarke,et al.  Automatic Veriication of Nite-state Concurrent Systems Using Temporal-logic Speciications. Acm , 1993 .

[3]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

[4]  M. Rabin Decidability of second-order theories and automata on infinite trees , 1968 .

[5]  Orna Kupferman,et al.  Weak alternating automata and tree automata emptiness , 1998, STOC '98.

[6]  Robert McNaughton,et al.  Testing and Generating Infinite Sequences by a Finite Automaton , 1966, Inf. Control..

[7]  R. Cleaveland,et al.  Eecient On-the-fly Model Checking for Ctl , 1995 .

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

[9]  Leslie Lamport,et al.  "Sometime" is sometimes "not never": on the temporal logic of programs , 1980, POPL '80.

[10]  Thierry Jéron,et al.  On-the-fly verification of finite transition systems , 1992, Formal Methods Syst. Des..

[11]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[12]  Courcoubetis M. Vardi P. Wolper M. Yannakakis Memory-E cient Algorithms for theVeri cationof Temporal PropertiesC , 1992 .

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

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

[15]  Moshe Y. Vardi An Automata-Theoretic Approach to Linear Temporal Logic , 1996, Banff Higher Order Workshop.

[16]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[17]  S. Sieber On a decision method in restricted second-order arithmetic , 1960 .

[18]  R. McNaughton Review: J. Richard Buchi, Weak Second-Order Arithmetic and Finite Automata; J. Richard Buchi, On a Decision Method in Restricted second Order Arithmetic , 1963, Journal of Symbolic Logic.

[19]  J. R. Büchi On a Decision Method in Restricted Second Order Arithmetic , 1990 .

[20]  Charlotte Christene Ackerman Providing mechanical support for program development in a weakest precondition calculus , 1993 .

[21]  Johan Lewi,et al.  A Linear Local Model Checking Algorithm for CTL , 1993, CONCUR.

[22]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[23]  Y. Moshe,et al.  Reasoning about In nite Computations , 1994 .

[24]  David E. Muller,et al.  Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[25]  Mihalis Yannakakis,et al.  On nested depth first search , 1996, The Spin Verification System.

[26]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

[27]  Girish Bhat,et al.  Efficient on-the-fly model checking for CTL , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[28]  E. Allen Emerson,et al.  Automated Temporal Reasoning about Reactive Systems , 1996, Banff Higher Order Workshop.

[29]  Chin-Laung Lei,et al.  Modalities for Model Checking: Branching Time Logic Strikes Back , 1987, Sci. Comput. Program..

[30]  Pierre Wolper,et al.  Reasoning About Infinite Computations , 1994, Inf. Comput..

[31]  Pja De Villiers,et al.  ESML - A validation language for concurrent systems , 1992 .