Matching implementations to specifications: The Corner Cases of ioco
                                            conference paper
                                        
                                    
                                            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.
                                        
                                    Topics
                                        
                                    TNO Identifier
                                        
                                            867242
                                        
                                    Publisher
                                        
                                            Association for Computing Machinery
                                        
                                    Source title
                                        
                                            Proceedings of the ACM Symposium on Applied Computing, 34th Annual ACM Symposium on Applied Computing, SAC 2019, 8 April 2019 through 12 April 2019
                                        
                                    Collation
                                        
                                            11 p.
                                        
                                    Pages
                                        
                                            2196-2205
                                        
                                    Files
                                        
                                            
                                                To receive the publication files, please send an e-mail request to TNO Repository.