Cooperation-based Invariants for OO Languages

Ronald Middelkoop, Cornelis Huizing, Ruurd Kuiper, Erik Luit
2006 Electronical Notes in Theoretical Computer Science  
In general, invariants may depend on the state of other objects. The approach introduced in this paper allows this for objects of mutually visible classes, in a way that supports modular verification. To this end, dependencies are made explicit by cooperation. In particular, invariants expressing non-hierarchical object relations are supported. Furthermore, an inc-set allows a method to specify explicitly that it does not depend on the validity of a certain invariant. This way, it can be called even when that invariant is violated.
doi:10.1016/j.entcs.2006.05.025 fatcat:qxjqqkojzfgcxbov2ppoybally