abstract
correctness constraints provide a foundation for automated debugging within object-oriented
systems. this paper discusses a new approach to incorporating correctness constraints into java
development environments. our approach uses the object constraint language (“ocl”) as a
specification language and the java debug interface (“jdi”) as a verification api. ocl provides a
standard language for expressing object-oriented constraints that can integrate with unified
modeling language (“uml”) software models. jdi provides a standard java api capable of
supporting type-safe and side effect free runtime constraint evaluation. the resulting correctness
constraint mechanism: (1) entails no programming language modifications; (2) requires neither
access nor changes to existing source code; and (3) works with standard off-the-shelf java virtual
machines (“vms”). a prototype correctness constraint auditor is presented to demonstrate the
utility of this mechanism for purposes of automated debugging.