Issue No. 03 - March (1994 vol. 43)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.272431
<p>We study the complexity of two fundamental problems in the testing of finite-state machines. 1) Distinguishing sequences (state identification). We show that it is PSPACE-complete to determine whether a finite-state machine has a preset distinguishing sequence. There are machines that have distinguishing sequences, but only of exponential length. We give a polynomial time algorithm that determines whether a finite-state machine has an adaptive distinguishing sequence. (The previous classical algorithms take exponential time.) Furthermore, if there is an adaptive distinguishing sequence, then we give an efficient algorithm that constructs such a sequence of length at most n(n/spl minus/1)/2 (which is the best possible), where n is the number of states. 2) Unique input output sequences (state verification). It is PSPACE-complete to determine whether a state of a machine has a unique input output sequence. There are machines whose states have unique input output sequences but only of exponential length.</p>
finite state machines; computational complexity; protocols; conformance testing; finite-state machines; state identification; state verification; complexity; testing; PSPACE-complete; polynomial time algorithm; adaptive distinguishing sequence; unique input output sequences; protocol testing.
D. Lee, M. Yannakakis, "Testing Finite-State Machines: State Identification and Verification", IEEE Transactions on Computers, vol. 43, no. , pp. 306-320, March 1994, doi:10.1109/12.272431