Generating feasible input sequences for extended finite state machines (EFSMs) using genetic algorithms

Testing is an important part of the software engineering process but can be time consuming, error-prone and expensive. Test automation can help reduce these problems. Many state based systems, like protocols, have been modelled as finite state machines (FSMs) and extended finite state machines (EFSMs). They have been an effective method of modelling because a variety of techniques and automated tools exist that work with them. To ensure the reliability of these systems once implemented they must be tested for conformance to their specification. Usually the implementation of a system specified by an FSM or EFSM is tested for conformance by applying a sequence of inputs and verifying that the corresponding sequence of outputs is that which is expected. This commonly involves executing a number of transition paths, until all transitions have been tested at least once. In EFSMs the feasibility of a transition path depends on satisfying all the transition guards involved, in addition to finding a specific input sequence to trigger these transitions. This poster addresses the issue of finding feasible transition paths and generating input sequences for systems based on the EFSM model. A novel way of abstracting parts of