foster.ea:efsm-inference:2020
ArticleInAPeriodical
2020
September
Archive of Formal Proofs
http://www.isa-afp.org/entries/Extended_Finite_State_Machine_Inference.html, Formal proof development
FosterMichael
BruckerAchimD
TaylorRamsayG
DerrickJohn
Inference of Extended Finite State Machines
In this AFP entry, we provide a formal implementation of a state-merging technique to infer extended finite state machines (EFSMs), complete with output and update functions, from black-box traces. In particular, we define the subsumption in context relation as a means of determining whether one transition is able to account for the behaviour of another. Building on this, we define the direct subsumption relation, which lifts the subsumption in context relation to EFSM level such that we can use it to determine whether it is safe to merge a given pair of transitions. Key proofs include the conditions necessary for subsumption to occur and that subsumption and direct subsumption are preorder relations. We also provide a number of different heuristics which can be used to abstract away concrete values into registers so that more states and transitions can be merged and provide proofs of the various conditions which must hold for these abstractions to subsume their ungeneralised counterparts. A Code Generator setup to create executable Scala code is also defined.