In black-box testing, test sequences may be constructed from systems modelled as deterministic finite-state machines (DFSMs) or, more generally, observable non-deterministic finite state machines (ONFSMs). Test sequences usually contain state identification sequences, with unique input output sequences ( <small>UIOs</small> ) often being used with DFSMs. This paper extends the notion of <small>UIOs</small> to ONFSMs. One challenge is that, as a result of non-determinism, the application of an input sequence can lead to exponentially many expected output sequences. To address this scalability problem, we introduce <inline-formula><tex-math notation="LaTeX">${\mathcal K}$</tex-math></inline-formula> - <small>UIOs</small> : <small>UIOs</small> that lead to at most <inline-formula><tex-math notation="LaTeX">${\mathcal K}$</tex-math></inline-formula> output sequences from states of <inline-formula><tex-math notation="LaTeX">$M$</tex-math></inline-formula> . We show that checking <inline-formula><tex-math notation="LaTeX">${\mathcal K}$</tex-math></inline-formula> - <small>UIO</small> existence is PSPACE-Complete if the problem is suitably bounded; otherwise it is in EXPSPACE and PSPACE-Hard. We provide a massively parallel algorithm for constructing <inline-formula><tex-math notation="LaTeX">${\mathcal K}$</tex-math></inline-formula> - <small>UIOs</small> and the results of experiments on randomly generated and real FSM specifications. The proposed algorithm was able to construct <small>UIOs</small> in cases where the existing <small>UIO</small> generation algorithm could not and was able to construct <small>UIOs</small> from FSMs with 38K states and 400K transitions.
Read full abstract