The ins and outs of first-order runtime verification

The main purpose of this paper is to introduce a first-order temporal logic, $${{\mathrm{LTL}}}^{{{{{\mathrm{FO}}}}}} $$LTLFO, and a corresponding monitor construction based on a new type of automaton, called spawning automaton. Specifically, we show that monitoring a specification in $${{\mathrm{LTL}}}^{{{{{\mathrm{FO}}}}}} $$LTLFO boils down to an undecidable decision problem. The proof of this result revolves around specific ideas on what we consider a “proper” monitor. As these ideas are general, we outline them first in the setting of standard LTL, before lifting them to the setting of first-order logic and $${{\mathrm{LTL}}}^{{{{{\mathrm{FO}}}}}} $$LTLFO. Although due to the above result one cannot hope to obtain a complete monitor for $${{\mathrm{LTL}}}^{{{{{\mathrm{FO}}}}}} $$LTLFO, we prove the soundness of our automata-based construction and give experimental results from an implementation. These seem to substantiate our hypothesis that the automata-based construction leads to efficient runtime monitors whose size does not grow with increasing trace lengths (as is often observed in similar approaches). However, we also discuss formulae for which growth is unavoidable, irrespective of the chosen monitoring approach. Specifically, we provide a general categorisation of so called monitorable languages, which is closely related to this notion of “growth-inducing” (that is, trace-length dependent) formulae. It relates to the well-known safety-progress hierarchy, yet is orthogonal to it.

[1]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

[2]  Amir Pnueli,et al.  PSL Model Checking and Run-Time Verification Via Testers , 2006, FM.

[3]  Grigore Rosu,et al.  JavaMOP: Efficient parametric runtime monitoring framework , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[4]  Grigore Rosu,et al.  Parametric Trace Slicing and Monitoring , 2009, TACAS.

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

[6]  Sanjay Ghemawat,et al.  MapReduce: a flexible data processing tool , 2010, CACM.

[7]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.

[8]  Jan-Christoph Küster,et al.  Runtime Verification Meets Android Security , 2012, NASA Formal Methods.

[9]  Grigore Rosu,et al.  Efficient monitoring of safety properties , 2004, International Journal on Software Tools for Technology Transfer.

[10]  A. Prasad Sistla,et al.  The complexity of propositional linear temporal logics , 1982, STOC '82.

[11]  Roger Villemaire,et al.  Runtime Monitoring of Message-Based Workflows with Data , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[12]  Dana Fisman,et al.  Reasoning with Temporal Logic on Truncated Paths , 2003, CAV.

[13]  Philippe Schnoebelen,et al.  Model Checking a Path , 2003, CONCUR.

[14]  S. Fischmeister,et al.  Parallelized Runtime Verification of First-order LTL Specifications , 2014 .

[15]  Fahiem Bacchus,et al.  Planning for temporally extended goals , 1996, Annals of Mathematics and Artificial Intelligence.

[16]  守屋 悦朗,et al.  J.E.Hopcroft, J.D. Ullman 著, "Introduction to Automata Theory, Languages, and Computation", Addison-Wesley, A5変形版, X+418, \6,670, 1979 , 1980 .

[17]  Jan Chomicki,et al.  Efficient checking of temporal integrity constraints using bounded history encoding , 1995, TODS.

[18]  A. Prasad Sistla,et al.  Temporal Triggers in Active Databases , 1995, IEEE Trans. Knowl. Data Eng..

[19]  Volker Stolz Temporal Assertions with Parametrized Propositions , 2010, J. Log. Comput..

[20]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

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

[22]  Leonid Libkin,et al.  Elements of Finite Model Theory , 2004, Texts in Theoretical Computer Science.

[23]  Martin Leucker,et al.  Monitoring modulo theories , 2016, International Journal on Software Tools for Technology Transfer.

[24]  Wei Dong,et al.  Impartial Anticipation in Runtime-Verification , 2008, ATVA.

[25]  Martin Leucker,et al.  Runtime Verification for LTL and TLTL , 2011, TSEM.

[26]  Jan-Christoph Küster,et al.  From Propositional to First-Order Monitoring , 2013, RV.

[27]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[28]  Rajeev Goré,et al.  A First-Order Policy Language for History-Based Transaction Monitoring , 2009, ICTAC.

[29]  Jan Chomicki,et al.  On the Feasibility of Checking Temporal Integrity Constraints , 1995, J. Comput. Syst. Sci..

[30]  Felix Klaedtke,et al.  Policy Monitoring in First-Order Temporal Logic , 2010, CAV.

[31]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[32]  Leonid Libkin,et al.  Elements Of Finite Model Theory (Texts in Theoretical Computer Science. An Eatcs Series) , 2004 .

[33]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[34]  Andreas Bauer,et al.  Monitorability of omega-regular languages , 2010, ArXiv.

[35]  Bernd Finkbeiner,et al.  Efficient Parallel Path Checking for Linear-Time Temporal Logic With Past and Bounds , 2012, Log. Methods Comput. Sci..

[36]  Christel Baier,et al.  Principles of model checking , 2008 .

[37]  Cédric Meuter,et al.  Monitoring Distributed Controllers: When an Efficient LTL Algorithm on Sequences Is Needed to Model-Check Traces , 2006, FM.