ioco
ioco, short for input-output conformance, is a formal conformance relation used in model-based testing of reactive systems. It compares a specification S and an implementation I modeled as labeled transition systems with distinct input and output actions (and possibly a quiescence action). Introduced by Jan Tretmans in the late 1990s, ioco provides a criterion to decide whether I behaves according to S under any sequence of environment inputs and observed outputs.
The core idea is trace-based: for every finite trace σ that can occur in the specification, the set
ioco underpins automated test generation: from a finite-state specification, a test suite can be derived that,
Tools such as JTorX implement ioco-based conformance testing, and the approach has influenced model-based testing practice