Efficient Decision Procedures for Model Checking of Linear Time Logic Properties

We propose an algorithm for LTL model checking based on the classification of the automata and on guided symbolic search. Like most current methods for LTL model checking, our algorithm starts with a tableau construction and uses a model checker for CTL with fairness constraints to prove the existence of fair paths. However, we classify the tableaux according to their structure, and use efficient decision procedures for each class. Guided search applies hints to constrain the transition relation during fixpoint computations. Each fixpoint is thus translated into a sequence of fixpoints that are often much easier to compute than the original one. Our preliminary experimental results suggest that the new algorithm for LTL is quite efficient. In fact, for properties that can be expressed in both CTL and LTL, the algorithm is competitive with the CTL model checking algorithm.

[1]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[2]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[3]  H. Iwashita,et al.  CTL model checking based on forward state traversal , 1996, ICCAD 1996.

[4]  Edmund M. Clarke,et al.  Model checking, abstraction, and compositional verification , 1993 .

[5]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

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

[7]  Sandeep K. Shukla,et al.  A New Heuristic for Bad Cycle Detection Using BDDs , 1997, Formal Methods Syst. Des..

[8]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[9]  Orna Kupferman,et al.  Relating linear and branching model checking , 1998, PROCOMET.

[10]  Ilan Beer,et al.  On-the-Fly Model Checking of RCTL Formulas , 1998, CAV.

[11]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[12]  Abelardo Pardo,et al.  Incremental CTL model checking using BDD subsetting , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[13]  Prof. Dr. Christoph Meinel,et al.  Algorithms and Data Structures in VLSI Design , 1998, Springer Berlin Heidelberg.

[14]  Jae-Young Jang,et al.  Approximate Reachability Don't Cares for CTL model checking , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[15]  Enrico Macii,et al.  Algorithms for approximate FSM traversal based on state space decomposition , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

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

[18]  Tsuneo Nakata,et al.  Forward model checking techniques oriented to buggy designs , 1997, ICCAD 1997.

[19]  Edmund M. Clarke,et al.  Representing circuits more efficiently in symbolic model checking , 1991, 28th ACM/IEEE Design Automation Conference.

[20]  Abelardo Pardo,et al.  Tearing based automatic abstraction for CTL model checking , 1996, Proceedings of International Conference on Computer Aided Design.

[21]  Orna Kupferman,et al.  Freedom, weakness, and determinism: from linear-time to branching-time , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[22]  Carl A. Gunter,et al.  In handbook of theoretical computer science , 1990 .

[23]  Tsuneo Nakata,et al.  Forward model checking techniques oriented to buggy designs , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[24]  G. Hachtel,et al.  Tearing based automatic abstraction for CTL model checking , 1996, ICCAD 1996.

[25]  Ilan Beer,et al.  Efficient Model Checking by Automated Ordering of Transition Relation Partitions , 1994, CAV.

[26]  Ekkart Kindler,et al.  Proving correctness of distributed algorithms using high-level Petri nets-a case study , 1998, Proceedings 1998 International Conference on Application of Concurrency to System Design.

[27]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[28]  David L. Dill,et al.  Validation with guided search of the state space , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[29]  R. Bryant Graph-Based Algorithms for Boolean Function Manipulation12 , 1986 .

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

[31]  Edmund M. Clarke,et al.  Another Look at LTL Model Checking , 1994, CAV.

[32]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[33]  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.

[34]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[35]  Thomas A. Henzinger,et al.  From Pre-historic to Post-modern Symbolic Model Checking , 1998, CAV.