Java News from Thursday, December 21, 2006

Tom Copeland has released PMD 3.9, an open source tool for automatically checking Java code for various classes of bugs. (Web site not yet updated.) Version 3.9 improves performance and adds eight new rules: BigIntegerInstantiation, AvoidUsingOctalValues, NPathComplexity, NcssTypeCount, NcssMethodCount, NcssConstructorCount, UseCollectionIsEmpty, and StringBufferInstantiationWithChar.

As is my custom, I tested these new rules out on XOM. I found a number of violations of NPath complexity. "The NPath complexity of a method is the number of acyclic execution paths through that method. A threshold of 200 is generally considered the point where measures should be taken to reduce complexity." It also complained about the NCSS complexity of various methods. The other suggestion it made was "Substitute calls to size() == 0 (or size() != 0) with calls to isEmpty()" in one method. OK. That's not a major issue, but it's plausible.

Atlassian has released version 3.7 of JIRA, a $1200-$4800 payware J2EE-based bug tracking and project management server application. Version 3.7 now allows you to "configure project roles (e.g. developer, tester, administrator), and assign users/groups to these roles on a per-project basis. If you have more than a few projects, this will significantly simplify administration." I've been using Jira lately with Jaxen and Apache. It's a definite improvement over Bugzilla. I'm not sure it really does anything that Bugzilla doesn't do (at least not anything I use) but the user interface is about a hundred times cleaner.