Incorporating Data into EFSM Inference
Models are an important way of understanding software systems. If they do not already exist, then we need to infer them from system behaviour. Most current approaches infer classical FSM models that do not consider data, thus limiting applicability. EFSMs provide a way to concisely model systems with an internal state but existing inference techniques either do not infer models which allow outputs to be computed from inputs, or rely heavily on comprehensive white-box traces that reveal the internal program state, which are often unavailable.
In our SEFM paper [1], we present an approach for inferring EFSM models, including functions that modify the internal state. Our technique uses black- box traces which only contain information visible to an external observer of the system. We implemented our approach as a prototype.