Design by contract extension to Java. Defines annotations to specify pre-conditions, post-conditions and object invariants. Annotations are processed by a javac plugin and injected into JVM bytecode.
Java SE (>= 6) and AspectJ (>= 1.5).
The source code is licensed under the GNU General Public License v3.0.