Emperical semantics for object-oriented programs by J. Bergstra & M. loots