The symmetry of the past and of the future: bi-infinite time in the verification of temporal properties

Model checking techniques have traditionally dealt with temporal logic languages and automata interpreted over ω-words, i.e., infinite in the future but finite in the past. However, time with also an infinite past is a useful abstraction in specification. It allows one to ignore the complexity of system initialization in much the same way as system termination may be abstracted away by allowing an infinite future. One can then write specifications that are simpler and more easily understandable, because they do not include the description of the operations (such as configuration or installation) typically performed at system deployment time. The present paper is centered on the problem of satisfiability checking of linear temporal logic (LTL) formulae with past operators. We show that bounded model checking techniques can be adapted to deal with bi-infinite time in temporal logic, without incurring in any performance loss. Our claims are supported by a tool, whose application to a case study shows that satisfiability checking may be feasible also on nontrivial examples of temporal logic specifications.

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

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

[3]  Matteo Pradella,et al.  A Finite-Domain Semantics for Testing Temporal Logic Specifications , 1998, FTRTFT.

[4]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[5]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

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

[7]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[8]  Sandro Morasca,et al.  A Case Study on Applying a Tool for Automated System Analysis Based on Modular Specifications Written in TRIO , 2000, Automated Software Engineering.

[9]  Armin Biere,et al.  Simple Is Better: Efficient Bounded Model Checking for Past LTL , 2005, VMCAI.

[10]  Carlo Ghezzi,et al.  A model parametric real-time logic , 1992, TOPL.

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

[12]  Miguel Felder,et al.  Validating real-time systems by history-checking TRIO specifications , 1992, ICSE '92.

[13]  Matteo Pradella,et al.  Model checking temporal metric specifications with Trio2Promela , 2007, FSEN'07.

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

[15]  Matteo Pradella,et al.  Model-Checking TRIO Specifications in SPIN , 2003, FME.

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

[17]  Mary Sheeran,et al.  Checking Safety Properties Using Induction and a SAT-Solver , 2000, FMCAD.

[18]  Marco Benedetti,et al.  Bounded Model Checking for Past LTL , 2003, TACAS.

[19]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[20]  Sandro Morasca,et al.  Generating test cases for real-time systems from logic specifications , 1995, TOCS.

[21]  M. Nivat,et al.  Algebraic languages , 1991 .

[22]  Sandro Morasca,et al.  Generation of Execution Sequences for Modular Time Critical Systems , 2000, IEEE Trans. Software Eng..

[23]  Carlo Ghezzi,et al.  TRIO: A logic language for executable specifications of real-time systems , 1990, J. Syst. Softw..

[24]  Paul Gastin,et al.  LTL with Past and Two-Way Very-Weak Alternating Automata , 2003, MFCS.

[25]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

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

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

[28]  Stephan Merz,et al.  Model Checking , 2000 .

[29]  Viktor Schuppan,et al.  Linear Encodings of Bounded LTL Model Checking , 2006, Log. Methods Comput. Sci..

[30]  Matteo Pradella,et al.  Practical Model Checking of LTL with Past , 2003 .

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

[32]  Matteo Pradella,et al.  Trio2Promela: A Model Checker for Temporal Metric Specifications , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[33]  Angelo Gargantini,et al.  Automated deductive requirements analysis of critical systems , 2001, TSEM.

[34]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[35]  Dino Mandrioli,et al.  From formal models to formally based methods: an industrial experience , 1999, TSEM.

[36]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

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

[38]  Dino Mandrioli,et al.  A framework architecture for supervision and control systems , 2000, CSUR.

[39]  Angelo Morzenti,et al.  Object-oriented logical specification of time-critical systems , 1994, TSEM.

[40]  Maurice Nivat,et al.  Langages algébriques de mots biinfinis , 1991, Theor. Comput. Sci..