SEFeb 28, 2020

Declarative Stream Runtime Verification (hLola)

arXiv:2003.00032v21 citations
Originality Incremental advance
AI Analysis

This work addresses the challenge of extensibility in SRV engines for formal verification researchers and practitioners, offering an incremental improvement by enabling easier integration of new data types.

The paper tackled the problem of implementing a truly extensible Stream Runtime Verification (SRV) engine for arbitrary data theories, proposing hLola as a Haskell embedded domain-specific language that simplifies extensions using libraries, reducing the need for complex, error-prone additions in previous ad-hoc formalisms.

Stream Runtime Verification is a formal dynamic analysis technique that generalizes runtime verification algorithms from temporal logics like LTL to stream monitoring, allowing to compute richer verdicts than Booleans (including quantitative and arbitrary data). In this paper we study the problem of implementing an SRV engine that is truly extensible to arbitrary data theories, and we propose a solution as a Haskell embedded domain specific language. In spite of the theoretical clean separation in SRV between temporal dependencies and data computations, previous engines include ad-hoc implementations of a few data types, requiring complex changes to incorporate new data theories. We propose here an SRV language called hLola that borrows general Haskell types and embeds them transparently into an eDSL. This novel technique, which we call lift deep embedding, allows for example, the use of higher-order functions for static stream parameterization. We describe the Haskell implementation of hLola and illustrate simple extensions implemented using libraries, which require long and error-prone additions in other ad-hoc SRV formalisms.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes