4.4 Article

Inferring extended finite state machine models from software executions

Journal

EMPIRICAL SOFTWARE ENGINEERING
Volume 21, Issue 3, Pages 811-853

Publisher

SPRINGER
DOI: 10.1007/s10664-015-9367-7

Keywords

Reverse engineering; EFSMs; Dynamic analysis

Funding

  1. EU FP7 PROWESS projects
  2. UK Ministry of Defence (MOD)
  3. EPSRC [EP/M017044/1] Funding Source: UKRI
  4. Engineering and Physical Sciences Research Council [EP/M017044/1] Funding Source: researchfish

Ask authors/readers for more resources

The ability to reverse-engineer models of software behaviour is valuable for a wide range of software maintenance, validation and verification tasks. Current reverse-engineering techniques focus either on control-specific behaviour (e.g., in the form of Finite State Machines), or data-specific behaviour (e.g., as pre / post-conditions or invariants). However, typical software behaviour is usually a product of the two; models must combine both aspects to fully represent the software's operation. Extended Finite State Machines (EFSMs) provide such a model. Although attempts have been made to infer EFSMs, these have been problematic. The models inferred by these techniques can be non-deterministic, the inference algorithms can be inflexible, and only applicable to traces with specific characteristics. This paper presents a novel EFSM inference technique that addresses the problems of inflexibility and non-determinism. It also adapts an experimental technique from the field of Machine Learning to evaluate EFSM inference techniques, and applies it to three diverse software systems.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.4
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available