• DocumentCode
    2346734
  • Title

    Reverse Engineering State Machines by Interactive Grammar Inference

  • Author

    Walkinshaw, Neil ; Bogdanov, Kirill ; Holcombe, Mike ; Salahuddin, Sarah

  • Author_Institution
    Regent Court, Sheffield
  • fYear
    2007
  • fDate
    28-31 Oct. 2007
  • Firstpage
    209
  • Lastpage
    218
  • Abstract
    Finite state machine-derived specifications such as X-machines, extended finite state machines and abstract state machines, are an established means to model software behaviour. They allow for comprehensive testing of an implementation in terms of its intended behaviour. In practice however they are rarely generated and maintained during 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 interpreted 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 execution traces at a developer-defined level of abstraction and (2) how the QSM technique can be improved for a better 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.
  • Keywords
    finite state machines; formal specification; grammars; program verification; reverse engineering; X-machines; abstract state machines; extended finite state machines; finite state machine-derived specifications; hypothesis machine; interactive grammar inference; reverse engineering state machines; software behaviour modeling; Automata; Automatic testing; Electronic mail; Programming; Reverse engineering; Software engineering; Software maintenance; Software systems; Software testing; System testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering, 2007. WCRE 2007. 14th Working Conference on
  • Conference_Location
    Vancouver, BC
  • ISSN
    1095-1350
  • Print_ISBN
    978-0-7695-3034-5
  • Type

    conf

  • DOI
    10.1109/WCRE.2007.45
  • Filename
    4400167