Identity transitions
counter c; int n1, n2; n1 = c.value(); c.inc(1); c.dec(1); n2 = c.value(); n1 = c.value(); c.inc(1); c.inc(2); c.dec(3); n2 = c.value();
Abstract data types
- stack -- pop( push(s,x) ) = sremove( insert(q,x) ) != q
Interaction protocols
- tests all interesting \c{interaction} sequences