Runtime monitors that are specified in a stream-based monitoring language tend to be easier to understand, maintain, and reuse than those written in a standard programming language. Because of their formal semantics, such specification languages are also a natural choice for safety-critical applications. Unlike for standard programming languages, there is, however, so far very little support for automatic code optimization. In this paper, we present the first collection of code transformations for the stream-based monitoring language RTLola. We show that classic compiler optimizations, such as Sparse Conditional Constant Propagation and Common Subexpression Elimination, can be adapted to monitoring specifications. We also develop new transformations — Pacing Type Refinement and Filter Refinement — which exploit the specific modular structure of RTLola as well as the implementation freedom afforded by a declarative specification language. We demonstrate the significant impact of the code transformations on benchmarks from the monitoring of unmanned aircraft systems (UAS).
History
Preferred Citation
Jan Baumeister, Bernd Finkbeiner, Matthis Kruse and Maximilian Schwenger. Automatic Optimizations for Stream-based Monitoring Languages. In: International Conference on Runtime Verification (RV). 2020.
Primary Research Area
Reliable Security Guarantees
Name of Conference
International Conference on Runtime Verification (RV)
Legacy Posted Date
2020-09-14
Open Access Type
Unknown
BibTeX
@inproceedings{cispa_all_3196,
title = "Automatic Optimizations for Stream-based Monitoring Languages",
author = "Baumeister, Jan and Finkbeiner, Bernd and Kruse, Matthis and Schwenger, Maximilian",
booktitle="{International Conference on Runtime Verification (RV)}",
year="2020",
}