Java News from Monday, December 13, 2004

Cenqua has released Clover 1.3.3, a $250 payware unit test coverage tool. Besides bug fixes, this release improves support for Unicode source files, offers more flexible database merge, can spawn the Swing viewer from Ant, and improves output from the console reporter.

Clover modifies the source code to enable it to follow which statements are executed when, and keeps a running count of how many times each statement is executed during the test suite. Any statement that executes zero times is not being tested. Unlike Jester, Clover only tests whether the tests execute each statement and follow each branch. (It occasionally misses branches on the edges of >= or <=.) It does not test whether the tests correctly detect bugs. On the other hand, it runs orders of magnitude faster than a tool like Jester does. It's easy to use Clover several times a day. Indeed you can use it after each change to the test suite. By contrast, a Jester run can take several days to complete. Ideally you'd want to use both a tool like Jester and a tool like Clover since they do different things.

Clover has been a major help in developing XOM. It has located numerous bugs in XOM over the last year, and is largely responsible for the completeness of XOM's test suite. Clover has also helped to optimize XOM for both speed and size by finding dead, unreachable code I could cut out. As usual, I tested the new release on the current XOM code base, and as usual with upgrades it didn't work:

   [clover] Error processing /tmp/clover32127.tmp/src32128.tmp/nu/xom/tests/
   [clover] No character defined for unicode escape '\u0245'
   [clover] cloverantlr.N: No character defined for unicode escape '\u0245'
   [clover] ** Error(s) occurred and the instrumentation process can't continue.

I'm sure I'll get this figured out soon, but just in case you might want to hold off upgrading for a few days. Clover integrates with Ant, NetBeans, Eclipse, and IntelliJ IDEA. new in this release is support for Oracle JDeveloper 10g. Clover can generate test coverage reports in XML, HTML, PDF, or via a Swing Viewer. Java 1.2 or later is required.

The Jakarta Apache Project has posted Tomcat 5.5.6, an open source servlet container for the Apache web server and the official reference implementation of the Java Servlet API and Java Server Pages (JSP). "Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires configuration to run on J2SE 1.4....In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling JSP pages. This means you no longer need to have the complete Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment (JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the binary Tomcat distributions. Tomcat can also be configured to use the compiler from the JDK to compile JSPs, or any other Java compiler supported by Apache Ant." This implements version 2.4 of the Java Servlet API and version 2.0 of Java Server Pages. Changes since 5.5.5 consist of bug fixes. The version numbering is funky. This is really more like an alpha release and is definitely not considered to be ready for production.

Websina has released BugZero 3.9.7, a $1299 payware (+$300 for maintenance) Web-based bug tracking system that supports multiple projects, group-based access, automatic bug assignment, file attachment, email notification, and metric reports. Bug Zero is written in Java and can run on top of various backend databases including MySQL. 3.9.7 fixes bugs.