posted on 2016-10-24, 13:30authored byNeil Walkinshaw, Mathew Hall
The challenge of inferring state machines from log
data or execution traces is well-established, and has led to the
development of several powerful techniques. Current approaches
tend to focus on the inference of conventional finite state machines
or, in few cases, state machines with guards. However, these ma-
chines are ultimately only partial, because they fail to model how
any underlying variables are computed during the course of an
execution; they are not
computational
. In this paper we introduce
a technique based upon Genetic Programming to infer these
data transformation functions, which in turn render inferred
automata fully computational. Instead of merely determining
whether or not a sequence is possible, they can be simulated, and
be used to compute the variable values throughout the course of
an execution. We demonstrate the approach by using a Cross-
Validation study to reverse-engineer complete (computational)
EFSMs from traces of established implementations.
History
Citation
2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), Raleigh, NC, 2016, pp. 122-132.
Author affiliation
/Organisation/COLLEGE OF SCIENCE AND ENGINEERING/Department of Computer Science
Source
International Conference on Software Maintenance and Evolution (ICSME) 2016 Oct 5 – Oct 7, Raleigh, North Carolina, USA
Version
AM (Accepted Manuscript)
Published in
2016 IEEE International Conference on Software Maintenance and Evolution (ICSME)
Publisher
Institute of Electrical and Electronics Engineers (IEEE)