A Survey of Runtime Monitoring Instrumentation Techniques

Ian Cassar
(University of Malta and Reykjavik University)
Adrian Francalanza
(University of Malta)
Luca Aceto
(Reykjavik University)
Anna Ingólfsdóttir
(Reykjavik University)

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.

In Adrian Francalanza and Gordon J. Pace: Proceedings Second International Workshop on Pre- and Post-Deployment Verification Techniques (PrePost 2017), Torino, Italy, 19 September 2017, Electronic Proceedings in Theoretical Computer Science 254, pp. 15–28.
Published: 23rd August 2017.

ArXived at: https://dx.doi.org/10.4204/EPTCS.254.2 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org