Matching implementations to specifications: the corner cases of ioco

A well-known conformance relation for model-based testing is ioco. A conformance relation expresses when an implementation is correct with respect to a specification. Unlike many other conformance and refinement relations, ioco has different domains for implementations and for specifications. Consequently, ioco is neither reflexive nor transitive, implying that a specification does not implement itself, and that specifications cannot be compared for refinement. In this paper, we investigate how we can compensate for the lack of reflexivity and transitivity. We show that (i) given a specification, we can construct in a standard way a canonical conforming implementation that is very 'close' to the specification; and (ii) a refinement preorder on specification models can be defined such that a refined model allows less ioco-conforming implementations. We give declarative and constructive definitions of both, we give examples of unimplementable corner-cases, we investigate decidability, and we do that for ioco as well as for the ioco-variant uioco. The latter turns out to be simpler and on more aspects decidable.

[1]  Andreas Hoffmann,et al.  Model-Based Testing , 2012, IEEE Software.

[2]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[3]  Stavros Tripakis,et al.  Conformance testing for real-time systems , 2004, SPIN.

[4]  N Neda Noroozi,et al.  Improving input-output conformance testing theories , 2014 .

[5]  Tim A. C. Willemse Heuristics for ioco -Based Test-Based Modelling , 2006, FMICS/PDMC.

[6]  Albert R. Meyer,et al.  Word problems requiring exponential time(Preliminary Report) , 1973, STOC.

[7]  Arend Rensink,et al.  Compositional Testing with ioco , 2003, FATES.

[8]  Igor B. Bourdonov,et al.  Specification completion for IOCO , 2011, Programming and Computer Software.

[9]  Mariëlle Stoelinga,et al.  Talking quiescence: a rigorous theory that supports parallel composition, action hiding and determinisation , 2012, MBT.

[10]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[11]  Jan Tretmans,et al.  Towards quality of model-based testing in the ioco framework , 2013, JAMAICA 2013.

[12]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[13]  Jan Tretmans,et al.  Test Generation with Inputs, Outputs and Repetitive Quiescence , 1996, Softw. Concepts Tools.

[14]  Dejan Nickovic,et al.  Complete composition operators for ioco-testing theory , 2015, 2015 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE).

[15]  Jan Tretmans,et al.  A Symbolic Framework for Model-Based Testing , 2006, FATES/RV.

[16]  Jan A. Bergstra,et al.  On the Consistency of Koomen's Fair Abstraction Rule , 1987, Theor. Comput. Sci..

[17]  Jan Tretmans,et al.  Model Based Testing with Labelled Transition Systems , 2008, Formal Methods and Testing.

[18]  Mariëlle Stoelinga,et al.  Model-based testing of probabilistic systems , 2017, Formal Aspects of Computing.

[19]  A. Nerode,et al.  Linear automaton transformations , 1958 .