On Implementing Symbolic Controllability [chapter]

Adrian Francalanza, Jasmine Xuereb
2020 Lecture Notes in Computer Science  
Runtime Monitors observe the execution of a system with the aim of reaching a verdict about it. One property that is expected of monitors is consistent verdict detections; this property was characterised in prior work via a symbolic analysis called symbolic controllability. This paper explores whether the proposed symbolic analysis lends itself well to the construction of a tool that checks monitors for this deterministic behaviour. We implement a prototype that automates this symbolic
more » ... and establish complexity upper bounds for the algorithm used. We also consider a number of optimisations for the implemented prototype, and assess the potential gains against benchmark monitors. We assume the existence of an expression language, e, d ∈ Exp and a boolean expression language b, c ∈ BExp. Expressions are defined in terms of a denumerable set of expression variables, x, y ∈ Vars, and a value domain, v, u ∈ Val; for expository purposes, we assume the value domain to be infinite. Boolean expressions are defined over the expression language Exp, and include the standard constructs for the basic values true and false, conjunctions b ∧ c, expression equality e = d, and negation ¬b. The meta-function fv(e) and fv(b) computes the free variables in the respective expressions e and b. (Boolean) expressions
doi:10.1007/978-3-030-50029-0_22 fatcat:njybuad53ncebeqefemxd7kdle