4 research outputs found
Synthesising correct concurrent runtime monitors
This paper studies the correctness of automated synthesis for concurrent monitors. We adapt a subset of the Hennessy-Milner logic with recursion (a reformulation of the modal μ-calculus) to specify safety properties for Erlang programs. We also define an automated translation from formulas in this sub-logic to concurrent Erlang monitors that detect formula violations at runtime. Subsequently, we formalise a novel definition for monitor correctness that incorporates monitor behaviour when instrumented with the program being monitored. Finally, we devise a sound technique that allows us to prove monitor correctness in stages; this technique is used to prove the correctness of our automated monitor synthesis.peer-reviewe
Designing correct runtime-monitors for Erlang
In runtime verification, a monitor continuously checks the execution of a program that is running concurrently with it. Normally, the runtime monitor checks that the system does not violate a correctness property. Any runtime monitor is expected to satisfy the following:
If a system does not obey a property φ, then the monitor for φ MUST flag a failure.peer-reviewe
The way forward for DETECTER
Monitor correctness is a prerequisite for the adoption of runtime verification as a lightweight formal technique ensuring program correctness. The tool DETECTER is a runtime verification tool synthesizing correct monitors from u-calculus formulas describing safety Erlang properties.peer-reviewe