Abstract
Extended Finite State Machines (EFSMs) provide a powerful model for the derivation of functional tests for software systems and protocols. Many EFSM based testing problems, such as mutation testing, fault diagnosis, and test derivation involve the derivation of input sequences that distinguish configurations of a given EFSM specification. In this paper, a method is proposed for the derivation of a distinguishing sequence for two explicitly given or symbolically represented, possibly infinite, sets of EFSM configurations using a corresponding FSM abstraction that is derived based on finite sets of predicates and parameterized inputs. An abstraction function that maps configurations and transitions of the EFSM specification to corresponding abstract states and transitions of the abstraction FSM is proposed. Properties of the abstraction are established along with a discussion on a proper selection of the sets of predicates and parameterized inputs used while deriving an FSM abstraction. If no distinguishing sequence is found for the current FSM abstraction then a refined abstraction is constructed by extending the sets of predicates and parameterized inputs. Simple heuristics for the selection of additional predicates are discussed and application examples are provided. The work can be applied in various domains such as EFSM-based test derivation, mutation testing, and fault diagnosis.
Highlights
Extended Finite State Machines (EFSMs) provide a powerful model for the derivation of functional tests for software systems and protocols
The work can be applied in various domains such as EFSM-based test derivation, mutation testing, and fault diagnosis
We establish properties of the abstraction FSM; namely, we show that a separating sequence of the sets of abstract states of an abstraction FSM MB that corresponds to the given sets of configurations C′ and C′′ of the EFSM M is a distinguishing sequence for the sets C′ and C′′, i.e., it distinguishes every two configurations c′ and c′′, c′ ∈ C′ and c′′ ∈ C′′
Summary
We present an algorithm for distinguishing two disjoint sets of configurations C′ and C′′ of an EFSM M by deriving a separating sequence for the corresponding sets of abstract states S′ and S′′ in the corresponding FSM abstraction. If no separating sequence exists for the corresponding sets of abstract states C′ and C′′ can still be distinguishable but such a distinguishing sequence cannot be derived using a current FSM abstraction. The algorithm inputs an EFSM specification M, a set of selected inputs of M, and two sets of configurations C′ and C′′ and outputs a distinguishing sequence or a message indicating that a sequence is not determined for the given sets
Published Version (Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have