Abstract

For Finite State Machines (FSMs) a rich testing theory has been developed to discover aspects of their behavior and ensure their correct functioning. Although this theory has been frequently used, e.g. to check conformance of protocol implementations, its applicability is limited by restrictions of FSMs, in which inputs and outputs alternate, and outputs are determined by the previous input and state. Labeled Transition Systems with inputs and outputs (LTSs), as studied in ioco testing theory, provide a richer framework for testing component oriented systems, but lack the algorithms for test generation from FSM theory. In this article, we propose an algorithm for the fundamental problem of state identification during testing of LTSs. Our algorithm is a direct generalization of the well-known algorithm for computing adaptive distinguishing sequences for FSMs proposed by Lee and Yannakakis. Our algorithm has to deal with so-called compatible states, states that cannot be distinguished. Analogous to the result of Lee and Yannakakis, we prove that if an adaptive test exists that distinguishes all pairs of (incompatible) states of an LTS, our algorithm will find one. In practice, such perfect adaptive tests typically do not exist. However, in experiments with an implementation of our algorithm on a collection of (both academic and industrial) benchmarks, we find that that the adaptive tests produced by our algorithm still distinguish at least 99% of the incompatible state pairs.

Highlights

  • Starting with Moore’s famous 1956 paper [16], a rich theory of testing finite-state machines (FSMs) has been developed to discover aspects of their behavior and ensure their correct functioning; see e.g. [11] for a survey

  • Our experiments show that this is typically the case in practice, but more than 99% of the incompatible state pairs are distinguished by the constructed test case

  • Petrenko & Yevtushenko [17] derive complete test suites for partial, observable FSMs, which is the closest to the automata model that we study in this paper

Read more

Summary

Introduction

Starting with Moore’s famous 1956 paper [16], a rich theory of testing finite-state machines (FSMs) has been developed to discover aspects of their behavior and ensure their correct functioning; see e.g. [11] for a survey. Petrenko & Yevtushenko [17] derive complete test suites for partial, observable FSMs, which is the closest to the automata model that we study in this paper Their test generation is based on (adaptive) state counting [10], which is a trace search-based method which recognizes when states are distinguished, but does not provide a constructive way to build a test that distinguishes (many) states at once. Yannakakis & Lee [25] present a randomized algorithm which generates, with high probability, checking sequences, i.e., n-complete test suites consisting of a single sequence This approach is applicable to partial FSMs, as opposed to the adaptive distinguishing sequence construction algorithms of [12], which apply to plain FSMs. A third generalization of FSMs is to relax the requirement that inputs and outputs alternate. We recall the definitions of the related notions of validity and compatibility [4], and discuss efficient algorithms for them

Validity
Compatibility
Splitting graph definition
Splitting conditions
Splitting graph construction
Experimental results on case study
Conclusions and Future Work
Full Text
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

Schedule a call