Active Inference of Extended Finite State Machine Models with Registers and Guards
For software engineers reverse-engineering stateful systems, this work provides a more practical inference method by removing the need for system resets and handling data-dependent control flow.
The paper presents a black-box active learning algorithm for inferring extended finite state machines (EFSMs) with guards and registers, relaxing assumptions about system resets and data-dependent control flow. The algorithm successfully infers EFSMs from observed behavior without requiring resets.
Extended finite state machines (EFSMs) model stateful systems with internal data variables and have numerous applications in software engineering. A major advantage of this type of model lies in its ability to model both the data flow and the data-dependent control behaviour. In the absence of such models, it is desirable to reverse-engineer them by observing the system's behaviour. However, existing approaches generally require the ability to reset the system during inference, or can only handle situations where the control flow depends exclusively on the input parameters, and not on the values of the stored data. In this work, we present a black-box active learning algorithm that infers EFSMs with guards and registers, and which significantly relaxes the assumptions that have to be made about the system in comparison to previous attempts.