Reverse Engineering State Machines by Interactive Grammar Inference

  • Authors:
  • Neil Walkinshaw;Kirill Bogdanov;Mike Holcombe;Sarah Salahuddin

  • Affiliations:
  • -;-;-;-

  • Venue:
  • WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Finite state machine-derived specifications such as X- Machines, Extended Finite State Machines and Abstract State Machines, are an established means to model soft- ware behaviour. They allow for comprehensive testing of an implementation in terms of its intended behaviour. In prac- tice however they are rarely generated and maintained dur- ing software development, hence their benefits can rarely be exploited. We address this problem by using an interactive grammar inference technique to infer the underlying state machine representation of an existing software system. The approach is interactive because it generates queries to the user as it constructs a hypothesis machine, which can be in- terpreted as system tests. This paper describes (1) how an existing grammar inference technique (QSM) can be used to reverse-engineer state-based models of software from ex- ecution traces at a developer-defined level of abstraction and (2) how the QSM technique can be improved for a bet- ter balance between the number of tests it proposes and the accuracy of the machine it derives. The technique has been implemented, which has enabled us to present a small case study of its use with respect to a real software system, along with some preliminary performance results.