A short survey that defines runtime verification as checking whether a single observed execution satisfies a correctness property, and places it next to model checking and testing. According to the abstract, it then covers applications, monitor-oriented programming, monitor-based runtime reflection (monitors with a diagnosis and reconfiguration layer on top) and contract enforcement. I could not get the full text, so this note rests on the abstract and on the overlapping material in Bauer, Leucker and Schallhart (2011), which shares two authors and repeats the comparison with model checking and testing in detail.

Findings

  • Not checked in the body. The comparison it is cited for: runtime verification checks one trace, needs no system model, and avoids state explosion, at the price of saying nothing about runs it has not seen.

Limits

  • Seedling: abstract only.
  • A survey of the software verification field in 2009, before robotics and ROS-based monitoring had a literature of their own.

Relevance

The usual citation for what runtime verification is. Runtime reflection, a monitor that also diagnoses and reconfigures, is the closest this line of work comes to failure recovery. Robot-specific versions are ROSMonitoring and Caldas et al. (2024); see runtime monitoring.