E is a programming language designed to make it easy to write distributed programs that are correct and secure. As a pure-Java library, ELib provides for inter-process capability-secure distributed programming. Its cryptographic capability protocol enables mutually suspicious Java processes to cooperate safely, and its event-loop concurrency and promise pipelining enable high performance deadlock free distributed pure-object computing. Objects written in the E language are only able to interact with other objects according to ELib’s semantics, enabling object granularity intra-process security, including the ability to safely run untrusted mobile code
jContractor is a 100% pure Java implementation of Design By Contract for the Java language. Contracts are written as methods that follow a simple naming convention. jContractor provides runtime contract checking by instrumenting the bytecode of classes that define contracts. jContractor can either add contract checking code to class files to be executed later, or it can instrument classes at runtime as they are loaded. All contracts are written in standard Java.
The Java Modeling Language (JML) is a behavioral interface specification language that can be used to specify the behavior of Java modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus.
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.