Skip to content

Runtime Verification

Check an observed computational execution trace against an explicit behavioral property with a monitor that returns a trace-relative verdict.

Core Idea

Runtime verification compares a computational system's observed execution trace with an explicit behavioral property. A monitor consumes relevant events or states and returns a trace-relative verdict: violation, satisfaction, or—under some finite-prefix semantics—an inconclusive result while later events could change the answer. It can work online as events arrive or offline on a recorded run. Its claim is about the run examined, not all possible runs.[^ref-67642062861a]

Detecting the result is the core method. A later alert, block or recovery action may use that verdict but is not necessary for runtime verification. Neither automatic monitor synthesis nor instrumentation woven into application code is universal.[ref-67642062861a][ref-6fbd4d9ae5f9]

Scope of Application

In Havelund and Roșu's JPaX/X9 case, a K9 rover executive executed test plans while action-start and termination events were collected. Temporal properties associated with each plan were checked against that run's trace; seeded errors produced reported violations and witness traces. This was test-time diagnosis, not a proof of every rover execution.[^ref-88834675d001]

Farrell and colleagues generated ROSMonitoring checks from formalized requirements for a robotic debris-grasping system. They analyzed logs from simulation and a physical testbed offline. An intentionally low-grasp-force run violated force and grasping requirements, and the monitors reported the inconsistency. They did not demonstrate online recovery or an on-orbit deployment in that study.[^ref-6fbd4d9ae5f9]

Clarity

“Runtime” means the evidence comes from an actual execution, not that the monitor must be simultaneous with it: a log can be checked afterward. “Satisfied” must be understood under a declared finite-trace semantics; a currently good prefix may remain inconclusive if a later event could violate a property. An observed violation can be decisive for that run, but an observed success is not a global safety guarantee.[ref-67642062861a][ref-6fbd4d9ae5f9]

This is distinct from live Model Checking, which examines possible executions of a model, and from generic telemetry, which need not evaluate any stated correctness property. It is a narrower child of live prime Verification, not a synonym for its theorem-strength Formal Verification neighbor.[^ref-67642062861a]

Manages Complexity

The method reduces a large system to property → selected events → monitor state → verdict. K9 checks linked violating plans to concrete traces rather than relying on manual inspection of lengthy output. The robotics testbed checks selected message fields against requirements instead of treating all log data as undifferentiated telemetry.[ref-88834675d001][ref-6fbd4d9ae5f9]

That simplification has a cost: the monitor can judge only the events projected into its trace and the requirement it was given. Missing events or an inadequate property can make a verdict misleading. Online observation also has resource and latency costs.[ref-67642062861a][ref-6fbd4d9ae5f9]

Abstract Reasoning

Specify a monitorable property and the event vocabulary it needs. Capture an execution, evaluate its trace, then interpret the verdict under the chosen finite-prefix semantics. If the result is inconclusive, ask what continuation would settle it. If it is violated, locate the witness event and verify that the instrumented observation matches the intended requirement.[^ref-67642062861a]

Knowledge Transfer

Rover-plan tests and robotic-grasping logs differ in code, event sources and operational setting. Both instantiate the same trace-property-monitor-verdict structure, which transfers literally. Their particular temporal formulas and coverage do not. The proposed strict parent is live prime Verification, the general conformance-to-criterion relation; the computational execution trace and monitor keep this entry domain-specific.[ref-88834675d001][ref-6fbd4d9ae5f9]

[^ref-67642062861a]: Martin Leucker and Christian Schallhart, “A Brief Account of Runtime Verification”, original author-hosted preprint, published Journal of Logic and Algebraic Programming 78 (2009), 293–303; PDF pp. 2–9. [^ref-88834675d001]: Klaus Havelund and Grigore Roșu, “An Overview of the Runtime Verification Tool Java PathExplorer”, original author-hosted full paper (2003), PDF pp. 0–7 and 28–30. [^ref-6fbd4d9ae5f9]: Marie Farrell, Nikos Mavrakis, Angelo Ferrando, Clare Dixon and Yang Gao, “Formal Modelling and Runtime Verification of Autonomous Grasping for Active Debris Removal”, Frontiers in Robotics and AI 8 (2021), published 27 January 2022, §§5–7.

Relationships to Other Abstractions

Local relationship map for Runtime VerificationParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Runtime VerificationDOMAINPrime abstraction: Verification — is a kind ofVerificationPRIME

Current abstraction Runtime Verification Domain-specific

Parents (1) — more general patterns this builds on

  • Runtime Verification is a kind of Verification Prime

    Runtime verification checks an observed system run against a stated correctness property and yields a trace-relative verdict.

Hierarchy path (1) — routes to 1 parentless root

Neighborhood in Abstraction Space

Runtime Verification sits in a sparse region of the domain-specific corpus (80th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Generic Domain Practice Definitions (22 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-08