An extension of first-order LTL with rules with application to runtime verification

Klaus Havelund, Doron Peled

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

Linear temporal logic (LTL) is extensively used in formal methods, in particular in runtime verification (RV) and in model checking. Its propositional version was shown by Wolper (1983, Inform Control 56(1/2): 72–99) to be limited in expressiveness. Several extensions of propositional LTL, which promote the expressive power to that of Büchi automata, have therefore been proposed; however, none of those, by and large, have been adopted for formal methods. We present an extension of propositional LTL with rules, that is as expressive as these aforementioned extensions. We then show a similar deficiency in the expressiveness of first-order LTL and present an extension of it with rules, which parallels the propositional version. In our work on runtime verification, we focus on execution traces which consist of events that carry data, where a first-order version of LTL is needed, and in particular on past time versions of first-order LTL. In the previous work, we provided an algorithm for past time first-order LTL that uses BDDs to represent relations over data elements, and implemented it as a tool called DejaVu. In this paper, we propose a monitoring algorithm for the extension of past time first-order LTL with rules. This is implemented as an extension of DejaVu, and experimental results are provided.

Original languageEnglish
Pages (from-to)547-563
Number of pages17
JournalInternational Journal on Software Tools for Technology Transfer
Volume23
Issue number4
DOIs
StatePublished - Aug 2021

Bibliographical note

Publisher Copyright:
© 2021, The Author(s), under exclusive licence to Springer-Verlag GmbH Germany, part of Springer Nature.

Keywords

  • Binary decision diagrams
  • Linear temporal logic
  • Runtime-verification

Fingerprint

Dive into the research topics of 'An extension of first-order LTL with rules with application to runtime verification'. Together they form a unique fingerprint.

Cite this