First-order temporal logic monitoring with BDDs

Klaus Havelund, Doron Peled, Dogan Ulus

Research output: Contribution to journalArticlepeer-review


Runtime verification is aimed at analyzing execution traces stemming from a running program or system. The traditional purpose is to detect the lack of conformance with respect to a formal specification. Numerous efforts in the field have focused on monitoring parametric specifications, where events carry data, and formulas can refer to such. Since a monitor for such specifications has to store observed data, the challenge is to have an efficient representation and manipulation of Boolean operators, quantification, and lookup of data. The fundamental problem is that the actual values of the data are not necessarily bounded or provided in advance. In this work we explore the use of binary decision diagrams for representing observed data. Our experiments show a substantial improvement in performance compared to related work.

Original languageEnglish
Pages (from-to)1-21
Number of pages21
JournalFormal Methods in System Design
Issue number1-3
Early online date7 Jan 2019
StatePublished - Dec 2020


  • BDDs
  • Data
  • Past time temporal logic

All Science Journal Classification (ASJC) codes

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture


Dive into the research topics of 'First-order temporal logic monitoring with BDDs'. Together they form a unique fingerprint.

Cite this