iContract2
iContract2 is a revival of Reliable System’s iContract project, which is a “Design by Contract” tool for Java. iContract2 is a preprocessor/code-generator for Java. To use it, you first add some iContract tags into the javadoc sections of your Java source code (similar to xdoclet or JDK1.5 annotations), then process your source code with iContract2, producing a set of instrumented Java source files. Then you compile the instrumented Java source code with the Java compiler.