If At First You Don't Succeed: Extended Monitorability through Multiple Executions
Antonis Achilleos, Adrian Francalanza, Jasmine Xuereb
TL;DR
This work introduces a framework for extending runtime verification to branching-time properties by observing multiple executions of the same system. It formalizes a two-stage process—history aggregation across runs and history analysis via a determinism-aware proof system—within an instrumented labeled transition system, and proves key correctness properties (veracity, determinism, irrevocability) for multi-run monitors. The authors define an extended monitorable fragment $\textsc{sHML}^\vee_{\textsc{Det}}$ that is maximally expressive under deterministic internal actions and provide a synthesis function that constructs witness monitors from formulas. They instantiate the framework to actor-based systems, showing how deterministic and non-deterministic actions affect monitorability and deriving lower bounds on the number of required executions from property structure. The results advance practical runtime verification by enabling robust monitoring of complex branching-time properties and offer methods for tool support and future grey-box extensions.
Abstract
This paper studies the extent to which branching-time properties can be adequately verified using runtime monitors. We depart from the classical setup where monitoring is limited to a single system execution and investigate the enhanced observational capabilities when monitoring a system over multiple runs. To ensure generality in our results, we focus on branching-time properties expressed in the modal mu-calculus, a well-studied foundational logic that is used by state-of-the-art model checkers. Our results show that the proposed setup can systematically extend previously established monitorability limits for branching-time properties. We then validate our results by instantiating them to verify actor-based systems. We also prove bounds that capture the correspondence between the syntactic structure of a property and the number of required system runs.
