Interpretable Early Failure Detection via Machine Learning and Trace Checking-based Monitoring
By: Andrea Brunello , Luca Geatti , Angelo Montanari and more
Potential Business Impact:
Finds computer problems early, faster and better.
Monitoring is a runtime verification technique that allows one to check whether an ongoing computation of a system (partial trace) satisfies a given formula. It does not need a complete model of the system, but it typically requires the construction of a deterministic automaton doubly exponential in the size of the formula (in the worst case), which limits its practicality. In this paper, we show that, when considering finite, discrete traces, monitoring of pure past (co)safety fragments of Signal Temporal Logic (STL) can be reduced to trace checking, that is, evaluation of a formula over a trace, that can be performed in time polynomial in the size of the formula and the length of the trace. By exploiting such a result, we develop a GPU-accelerated framework for interpretable early failure detection based on vectorized trace checking, that employs genetic programming to learn temporal properties from historical trace data. The framework shows a 2-10% net improvement in key performance metrics compared to the state-of-the-art methods.
Similar Papers
Automata-less Monitoring via Trace-Checking (Extended Version)
Formal Languages and Automata Theory
Checks computer rules without making big machines.
Practical challenges of control monitoring in frontier AI deployments
Cryptography and Security
Keeps AI safe even when we don't trust it.
Monitorability for the Modal mu-Calculus over Systems with Data: From Practice to Theory
Logic in Computer Science
Checks computer programs for hidden data mistakes.