Skip to main content

Crash-Resilient Decentralized Synchronous Runtime Verification

Publication Type
Year of Publication
Conference/Journal Name
The 37th IEEE Symposium on Reliable Distributed Systems (SRDS)
Page Numbers
untime verification is a technique, where a monitor process extracts information from a running system in order to detect executions violating or satisfying a given correctness specification. In this paper, we consider runtime verification of synchronous distributed systems, where a decentralized set of monitors that only have a partial view of the system are subject to crash failures. In this context, it is unavoidable that monitors may have different views of the underlying system, and, therefore, have different opinions about the correctness property. We propose an automata-based synchronous monitoring algorithm that copes with t crash monitor failures. Moreover, local monitors do not communicate their explicit reading of the underlying system. Rather, they emit a symbolic verdict that efficiently encodes their partial views. This significantly reduces the communication overhead. To this end, we also introduce an (offline) SMT-based monitor synthesis algorithm, which results in minimizing the size of monitoring messages.