Automated discovery of state transitions and their functions in source code

  • Authors:
  • Neil Walkinshaw;Kirill Bogdanov;Shaukat Ali;Mike Holcombe

  • Affiliations:
  • Department of Computer Science, The University of Sheffield, Regent Court, 211 Portobello Street, S1 4DP Sheffield, U.K.;Department of Computer Science, The University of Sheffield, Regent Court, 211 Portobello Street, S1 4DP Sheffield, U.K.;Department of Systems and Computer Engineering, Carleton University, Ottawa, Ont., Canada;Department of Computer Science, The University of Sheffield, Regent Court, 211 Portobello Street, S1 4DP Sheffield, U.K.

  • Venue:
  • Software Testing, Verification & Reliability - TAIC PART 2006 Special issue - Testing: Academic & Industrial Conference - Practice And Research Techniques
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Finite-state machine specifications form the basis for a number of rigorous state-based testing techniques and can help to understand program behaviour. Unfortunately they are rarely maintained during software development, which means that these benefits can rarely be fully exploited. This paper describes a technique that, given a set of states that are of interest to a developer, uses symbolic execution to reverse-engineer state transitions from source code. A particularly novel aspect of our approach is that, besides determining whether or not a state transition can take place, it also identifies the paths through the source code that govern a transition. The technique has been implemented as a prototype, enabling its preliminary evaluation with respect to real software systems. Copyright © 2007 John Wiley & Sons, Ltd.