Monitoring Metric First-Order Temporal Properties

David Basin,Felix Klaedtke,Samuel Müller,Eugen Zălinescu
DOI: https://doi.org/10.1145/2699444
IF: 2.269
2015-05-06
Journal of the ACM
Abstract:Runtime monitoring is a general approach to verifying system properties at runtime by comparing system events against a specification formalizing which event sequences are allowed. We present a runtime monitoring algorithm for a safety fragment of metric first-order temporal logic that overcomes the limitations of prior monitoring algorithms with respect to the expressiveness of their property specification languages. Our approach, based on automatic structures, allows the unrestricted use of negation, universal and existential quantification over infinite domains, and the arbitrary nesting of both past and bounded future operators. Furthermore, we show how to use and optimize our approach for the common case where structures consist of only finite relations, over possibly infinite domains. We also report on case studies from the domain of security and compliance in which we empirically evaluate the presented algorithms. Taken together, our results show that metric first-order temporal logic can serve as an effective specification language for expressing and monitoring a wide variety of practically relevant system properties.
computer science, information systems, theory & methods, software engineering, hardware & architecture
What problem does this paper attempt to address?