Scalable Tree-based Register Automata Learning - Dierl, Simon; Fiterau-Brostean, Paul; Howar, Falk; Jonsson, Bengt; Sagonas, Konstantinos; Tåquist, Fredrik (Tools and Algorithms for the Construction and Analysis of Systems, 2024)
Existing active automata learning (AAL) algorithms have demonstrated their potential in capturing the behavior of complex systems (e.g., in analyzing network protocol implementations). The most widely used AAL algorithms generate finite state machine models, such as Mealy machines. For many analysis tasks, however, it is crucial to generate richer classes of models that also show how relations between data parameters affect system behavior. Such models have shown potential to uncover critical bugs, but their learning algorithms do not scale beyond small and well curated experiments. In this paper, we present SL λ , an effective and scalable register automata (RA) learning algorithm that significantly reduces the number of tests required for inferring models. It achieves this by combining a tree-based cost-efficient data structure with mechanisms for computing short and restricted tests. We have implemented SL λ as a new algorithm in RALib. We evaluate its performance by comparing it against SL*, the current state-of-the-art RA learning algorithm, in a series of experiments, and show superior performance and substantial asymptotic improvements in bigger systems.