FlexFringe: Modeling Software Behavior by Learning Probabilistic Automata
Sicco Verwer, Christian Hammerschmidt
TL;DR
The paper tackles automated learning of probabilistic automata from software traces by extending FlexFringe with efficient state-merging (red-blue framework) and multiple evaluation functions. It introduces speedups (sinks, pooling, counting, merge constraints, searching) and implements several evaluation strategies (Alergia, Likelihood-ratio, MDI, AIC) to balance accuracy and model complexity. Empirical results on PAutomaC show competitive performance, while HDFS experiments demonstrate interpretable models and strong anomaly-detection capabilities, even rivaling neural nets in some settings. Overall, the work advances practical, interpretable PDFA learning for software systems and provides a flexible toolkit for exploring different learning strategies and their trade-offs.
Abstract
We present the efficient implementations of probabilistic deterministic finite automaton learning methods available in FlexFringe. These implement well-known strategies for state-merging including several modifications to improve their performance in practice. We show experimentally that these algorithms obtain competitive results and significant improvements over a default implementation. We also demonstrate how to use FlexFringe to learn interpretable models from software logs and use these for anomaly detection. Although less interpretable, we show that learning smaller more convoluted models improves the performance of FlexFringe on anomaly detection, outperforming an existing solution based on neural nets.
