  We describe a novel approach for adapting an existing software model checker
to perform precise runtime verification. The software under test is allowed to
communicate with the wider environment (including the file system and network).
The modifications to the model checker are small and self-contained, making
this a viable strategy for re-using existing model checking tools in a new
context.
  Additionally, from the data that is gathered during a single execution in the
runtime verification mode, we automatically re-construct a description of the
execution environment which can then be used in the standard, full-blown model
checker. This additional verification step can further improve coverage,
especially in the case of parallel programs, without introducing substantial
overhead into the process of runtime verification.
