Joe-E is a subset of the Java programming langauge designed to support programming according to object-capability discipline.
The language guarantees additional security properties by placing restrictions on Java code, but does not modify programs or change their meaning. This allows programmers' existing knowledge of Java to be applied and existing compilers, debuggers, and other tools to be used with Joe-E programs.
- Verifiable functional purity in Java - by Matthew Finifter, Adrian Mettler, Naveen Sastry, David Wagner
- Joe-E: A Security-Oriented Subset of Java - by Adrian Mettler, David Wagner, and Tyler Close