ICSME2016FinalSubmission.pdf (516.05 kB)
Inferring Computational State Machine Models from Program Executions
conference contributionposted on 2016-10-24, 13:30 authored by Neil 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.
Citation2016 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
SourceInternational Conference on Software Maintenance and Evolution (ICSME) 2016 Oct 5 – Oct 7, Raleigh, North Carolina, USA
- AM (Accepted Manuscript)