LOSEAug 24, 2017

A Survey of Runtime Monitoring Instrumentation Techniques

arXiv:1708.07229v15 citations
Originality Synthesis-oriented
AI Analysis

It provides a survey for researchers and practitioners in software verification, but it is incremental as it organizes existing literature without introducing new methods.

This paper compares and classifies runtime monitoring instrumentation techniques, ranging from asynchronous to synchronous methods, to analyze how different approaches verify software correctness specifications.

Runtime Monitoring is a lightweight and dynamic verification technique that involves observing the internal operations of a software system and/or its interactions with other external entities, with the aim of determining whether the system satisfies or violates a correctness specification. Compilation techniques employed in Runtime Monitoring tools allow monitors to be automatically derived from high-level correctness specifications (aka. properties). This allows the same property to be converted into different types of monitors, which may apply different instrumentation techniques for checking whether the property was satisfied or not. In this paper we compare and contrast the various types of monitoring methodologies found in the current literature, and classify them into a spectrum of monitoring instrumentation techniques, ranging from completely asynchronous monitoring on the one end and completely synchronous monitoring on the other.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes