Improving Automata Generation for Linear Temporal Logic by Considering the Automaton Hierarchy

We present newalgorithms to translate linear time temporal logic (LTL) formulas with past operators to equivalent ω-automata. The resulting automata are given in a symbolic representation that directly supports symbolic model checking. Furthermore, this has the advantage that the translations run in linear time wrt. the length of the input formula. To increase the efficiency of the model checking, our translations avoid as far as possible the introduction of computationally expensive fairness constraints, or at least replace them by simpler reachability constraints. Using the well-known automaton hierarchy, we show that our improvements are complete. Finally, we show how large parts of the formulas can be translated to the simpler logic CTL, which accelerates the LTL model checking by orders of magnitude which is shown by experimental results.

[1]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

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

[3]  Pierre Wolper,et al.  Constructing Automata from Temporal Logic Formulas: A Tutorial , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

[4]  Kavita Ravi,et al.  A Comparative Study of Symbolic Algorithms for the Computation of Fair Cycles , 2000, FMCAD.

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

[6]  Zohar Manna,et al.  A hierarchy of temporal properties (invited paper, 1989) , 1990, PODC '90.

[7]  Kavita Ravi,et al.  Efficient Decision Procedures for Model Checking of Linear Time Logic Properties , 1999, CAV.

[8]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[9]  Bengt Jonsson,et al.  CONCUR ’94: Concurrency Theory , 1994, Lecture Notes in Computer Science.

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

[11]  Rance Cleaveland,et al.  A linear-time model-checking algorithm for the alternation-free modal mu-calculus , 1993, Formal Methods Syst. Des..

[12]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[13]  Klaus Schneider,et al.  A HOL Conversion for Translating Linear Time Temporal Logic to omega-Automata , 1999, TPHOLs.

[14]  Steven D. Johnson,et al.  Studies of the Single Pulser in Various Reasoning Systems , 1994, TPCD.

[15]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[16]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[17]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[18]  Klaus Schneider,et al.  Introducing Mutual Exclusion in Esterel , 1999, Ershov Memorial Conference.

[19]  Kousha Etessami,et al.  Optimizing Büchi Automata , 2000, CONCUR.

[20]  Howard Barringer,et al.  Efficient CTL* model checking for analysis of rainbow designs , 1997, CHARME.

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

[22]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[23]  Amir Pnueli,et al.  Algorithmic Verification of Linear Temporal Logic Specifications , 1998, ICALP.

[24]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.

[25]  Fabio Somenzi,et al.  Efficient Büchi Automata from LTL Formulae , 2000, CAV.

[26]  K. Schneider,et al.  A HOL Conversion for Translating Linear Time Temporal Logic to ω-Automata ? , 1999 .

[27]  Moshe Y. Vardi Branching vs. Linear Time: Final Showdown , 2001, TACAS.

[28]  Jean-Michel Couvreur,et al.  On-the-Fly Verification of Linear Temporal Logic , 1999, World Congress on Formal Methods.

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

[30]  Murray Hill,et al.  Optimizing B Uchi Automata , 2000 .

[31]  Jim Alves-Foss,et al.  Higher Order Logic Theorem Proving and its Applications 8th International Workshop, Aspen Grove, Ut, Usa, September 11-14, 1995 : Proceedings , 1995 .

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

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

[34]  Fausto Giunchiglia,et al.  Improved Automata Generation for Linear Temporal Logic , 1999, CAV.

[35]  Klaus W. Wagner,et al.  On omega-Regular Sets , 1979, Inf. Control..

[36]  K. Schneider CTL and equivalent sublanguages of CTL , 1997 .

[37]  Fabio Somenzi,et al.  An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps , 2000, Formal Methods Syst. Des..

[38]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

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

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

[41]  Chin-Laung Lei,et al.  Modalities for model checking (extended abstract): branching time strikes back , 1985, POPL.

[42]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[43]  E. Emerson,et al.  Modalities for model checking (extended abstract): branching time strikes back , 1985, ACM-SIGACT Symposium on Principles of Programming Languages.

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

[45]  Klaus Schneider,et al.  Model Checking on Product Structures , 1998, FMCAD.