Inference of Extended Finite State Machines

by Michael Foster, Achim D. Brucker, Ramsay G. Taylor, and John Derrick

Cover for foster.ea:efsm-inference:2020.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.

Keywords:
Categories: ,
Documents: (full text as PDF file) (Outline)

QR Code for foster.ea:efsm-inference:2020.Please cite this article as follows:
Michael Foster, Achim D. Brucker, Ramsay G. Taylor, and John Derrick. Inference of Extended Finite State Machines. In Archive of Formal Proofs, 2020. http://www.isa-afp.org/entries/Extended_Finite_State_Machine_Inference.html, Formal proof development
(full text as PDF file) (Outline) (BibTeX) (Endnote) (RIS) (Word) (Share article on LinkedIn. Share article on CiteULike. )

BibTeX
@Article{ foster.ea:efsm-inference:2020,
abstract = {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.},
author = {Michael Foster and Achim D. Brucker and Ramsay G. Taylor and John Derrick},
date = {2020-09-07},
file = {https://www.brucker.ch/bibliography/download/2020/foster.ea-efsm-inference-outline-2020.pdf},
filelabel = {Outline},
issn = {2150-914x},
journal = {Archive of Formal Proofs},
month = {sep},
note = {\url{http://www.isa-afp.org/entries/Extended_Finite_State_Machine_Inference.html}, Formal proof development},
pdf = {https://www.brucker.ch/bibliography/download/2020/foster.ea-efsm-inference-2020.pdf},
title = {Inference of Extended Finite State Machines},
url = {https://www.brucker.ch/bibliography/abstract/foster.ea-efsm-inference-2020},
year = {2020},
}