Jutil.org : programming as you know it is over


Table of Contents
Home
Contact
Documentation
Links
News
Features
Download
Javadoc API

Documentation
Coding Style
Compiling the code
How to contribute
CVS
Javadoc API
Mailing lists
License
Quality levels

Quality levels
Specification quality
Implementation quality
Implementation quality

Unverified

An implementation which isn't tested or proven.

Tested

An implementation for which a thorough test class is written, and which passes all the tests. Test classes are placed in the org.jutiltest package, where the entire package structure of org.jutil is mirrored. The name of the test class is 'Test + the name of the class to be tested'.

For example, the test class for ForAll in package org.jutil.java.collections is named TestForAll and is in package org.jutiltest.java.collections.

Putting the test code in a different tree helps keeping the packages clean.

Proven

An implementation which is proven to be correct. We don't have a notation yet to write the proof of a method. A proof must be as formal as possible because in the end we want to be able to check it using a tool.

Of course, at some point Java classes need to be used in the code. Since they aren't proven and don't have specifications that allow us to write a proof, we will write specifications for them, and assume they are correct. This is not the ideal situation, but it's the best we can do. The JML project already has some specifications for the Java API.