5 questions to test your understanding
An LTL property 'G(request -> F grant)' (every request is eventually granted) is monitored over a finite execution trace that ends with an ungranted request. What does the monitor report?
Runtime verification can detect all violations of safety properties (nothing bad happens) on a single execution trace, but cannot definitively verify liveness properties (something good eventually happens) from a finite prefix.
Explain the difference between offline and online runtime verification, and describe one advantage of each approach.
Specification mining (or trace-based invariant inference) derives formal specifications from observed execution traces rather than checking given specifications. How does this relate to runtime verification?
A runtime verification monitor for a concurrent system observes a single interleaving of events. Can it detect property violations that would occur in alternative interleavings that were not observed?