There is a newer version of the record available.

Published January 27, 2023 | Version 1.0.0
Software Open

VAMOS: Middleware for Best-Effort Third-Party Monitoring


This is an software artifact to the paper VAMOS: Middleware for Best-Effort Third-Party Monitoring by Marek Chalupa, Fabian Muehlboeck, Stefanie Muroya Lei, and Thomas A. Henzinger.

There are two artifacts in fact. The file fase23artifact47.tar.gz is the artifact submitted to FASE 2023 AE that is meant to be loaded into the FASE 2023 VM ( Unfortunately, due to technical difficulties, we were not able to make running all the experiments from the paper on the VM. Therefore, we prepared a second artifact that uses docker. The docker artifact is available either as a pre-built image vamos-fase23.tar.gz or as a source code archive from which the artifact can be build.

For instructions how to use any of the artifacts, see the README files in the corresponding archives. We put the README from the docker artifact also in the top-level directory of this artifact.

The source code of the docker artifact can be found also at The newest source code of VAMOS is on Github in the repository

This artifact contains also the pre-print of the paper with all appendices (VAMOS-techreport.pdf).


Abstract of the paper:

As the complexity and criticality of software increase every year, so does the importance of run-time monitoring. Third-party monitoring, with limited knowledge of the monitored software, and best-effort monitoring, which keeps pace with the monitored software, are especially valuable, yet underexplored areas of run-time monitoring. Most existing monitoring frameworks do not support their combination because they either require access to the monitored code for  instrumentation purposes or the processing of all observed events, or both.
We present a middleware framework, VAMOS, for the run-time monitoring of software which is explicitly designed to support third-party and best-effort scenarios. The design goals of VAMOS are (i) efficiency (keeping pace at low overhead), (ii) flexibility (the ability to monitor black-box code through a variety of different event channels, and the connectability to monitors written in different specification languages), and (iii) ease-of-use. To achieve its goals, VAMOS combines aspects of event broker and event recognition systems with aspects of stream processing systems. We implemented a prototype toolchain for VAMOS and conducted experiments including a case study of monitoring for data races. The results indicate that VAMOS enables writing useful yet efficient monitors, is compatible with a variety of event sources and monitor specifications, and simplifies key aspects of setting up a monitoring system from scratch.


Files (1.7 GB)

Name Size Download all
3.9 MB Preview Download
553.4 MB Download
5.1 kB Download
4.4 kB Preview Download
116.0 kB Preview Download
1.1 GB Download
662.4 kB Preview Download