TY - JOUR
T1 - Assumption-based Runtime Verification
AU - Cimatti, Alessandro
AU - Tian, Chun
AU - Tonetta, Stefano
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.
PY - 2022/4
Y1 - 2022/4
N2 - Runtime Verification is a lightweight automatic verification technique. We introduce Assumption-Based Runtime Verification framework, which is capable for monitoring partially observable systems. The framework leverages assumptions on the behaviors of the systems under scrutiny for reasoning on their the non-observable or future behaviors. The specification is expressed in Propositional Linear Temporal Logic (LTL) with both future and past temporal operators, while assumptions are described in Fair Kripke Structures. Static or dynamic sets of observables are supported. The monitors are also resettable, i.e. being able to evaluate the specification at arbitrary positions of the input trace. We present the formalism of the framework and a series of monitoring algorithms which can be efficiently implemented by Binary Decision Diagrams. As a by-product, we also present a new automata-based monitor construction for Past-time LTL, an LTL variant with only past temporal operators. We give proofs for the correctness of all involved algorithms. The framework is implemented in NuRV, an extension of the nuXmv model checker. It synthesizes implicit or explicit monitors which can be deployed in online or offline modes. The explicit monitors are embeddable code in programming languages including C, C++, Java and Common Lisp. In particular, monitors can be generated as SMV models, whose correctness and other properties can be verified in nuXmv. Using a benchmark from Dwyer’s LTL patterns, we show the efficiency of the symbolic approach and the generated monitors, and the feasibility and effectiveness of the approach. Some monitors are shown to be predictive under certain assumptions.
AB - Runtime Verification is a lightweight automatic verification technique. We introduce Assumption-Based Runtime Verification framework, which is capable for monitoring partially observable systems. The framework leverages assumptions on the behaviors of the systems under scrutiny for reasoning on their the non-observable or future behaviors. The specification is expressed in Propositional Linear Temporal Logic (LTL) with both future and past temporal operators, while assumptions are described in Fair Kripke Structures. Static or dynamic sets of observables are supported. The monitors are also resettable, i.e. being able to evaluate the specification at arbitrary positions of the input trace. We present the formalism of the framework and a series of monitoring algorithms which can be efficiently implemented by Binary Decision Diagrams. As a by-product, we also present a new automata-based monitor construction for Past-time LTL, an LTL variant with only past temporal operators. We give proofs for the correctness of all involved algorithms. The framework is implemented in NuRV, an extension of the nuXmv model checker. It synthesizes implicit or explicit monitors which can be deployed in online or offline modes. The explicit monitors are embeddable code in programming languages including C, C++, Java and Common Lisp. In particular, monitors can be generated as SMV models, whose correctness and other properties can be verified in nuXmv. Using a benchmark from Dwyer’s LTL patterns, we show the efficiency of the symbolic approach and the generated monitors, and the feasibility and effectiveness of the approach. Some monitors are shown to be predictive under certain assumptions.
KW - Linear Temporal Logic
KW - Partial observability
KW - Predictive semantics
KW - Resettable monitors
KW - Runtime Verification
UR - https://www.scopus.com/pages/publications/85150738761
U2 - 10.1007/s10703-023-00416-z
DO - 10.1007/s10703-023-00416-z
M3 - Article
AN - SCOPUS:85150738761
SN - 0925-9856
VL - 60
SP - 277
EP - 324
JO - Formal Methods in System Design
JF - Formal Methods in System Design
IS - 2
ER -