Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors

08/27/2019
by   Wolfgang Ahrendt, et al.
0

Since distributed software systems are ubiquitous, their correct functioning is crucially important. Static verification is possible in principle, but requires high expertise and effort which is not feasible in many eco-systems. Runtime verification can serve as a lean alternative, where monitoring mechanisms are automatically generated from property specifications, to check compliance at runtime. This paper contributes a practical solution for powerful and flexible runtime verification of distributed, object-oriented applications, via a combination of the runtime verification tool Larva and the active object framework ProActive. Even if Larva supports in itself only the generation of local, sequential monitors, we empower Larva for distributed monitoring by connecting monitors with active objects, turning them into active, communicating monitors. We discuss how this allows for a variety of monitoring architectures. Further, we show how property specifications, and thereby the generated monitors, provide a model that splits the blame between the local object and its environment. While Larva itself focuses on monitoring of control-oriented properties, we use the Larva front-end StaRVOOrS to also capture data-oriented (pre/post) properties in the distributed monitoring. We demonstrate this approach to distributed runtime verification with a case study, a distributed key/value store.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/27/2019

On Distributed Runtime Verification by Aggregate Computing

Runtime verification is a computing analysis paradigm based on observing...
research
08/25/2019

Proceedings of the Second Workshop on Verification of Objects at RunTime EXecution

This volume contains the post-proceedings of the second Workshop on Veri...
research
12/15/2022

Runtime Monitoring for Out-of-Distribution Detection in Object Detection Neural Networks

Runtime monitoring provides a more realistic and applicable alternative ...
research
07/08/2020

BISM: Bytecode-Level Instrumentation for Software Monitoring

BISM (Bytecode-Level Instrumentation for Software Monitoring) is a light...
research
09/12/2022

On using VeriFast, VerCors, Plural, and KeY to check object usage

Typestates are a notion of behavioral types that describe protocols for ...
research
09/14/2022

Non-Functional Testing of Runtime Enforcers in Android

Runtime enforcers can be used to ensure that running applications satisf...
research
01/05/2018

Monitoring Data Minimisation

Data minimisation is a privacy enhancing principle, stating that persona...

Please sign up or login with your details

Forgot password? Click here to reset