I was thrilled to see that many of the rules were based on the idioms presented in Java in Practice, by Nigel Warren and Philip Bishop, one of my all-time favorite Java books. Naturally, Jtest allows you to create new rules through a graphical rules builder. Jtest's rules builder Click on thumbnail to view full-size image. Adding a rule is fairly straightforward, and the tutorials supplied with Jtest are invaluable. However, the rule builder is a powerful tool and it takes time to get the hang of formulating more complex rules.
Static analysis is a great tool for organizations with well-defined coding standards.
Without an automated process, these standards must be enforced during code reviews. Jtest makes code reviews more efficient by freeing the code review from the task of convention policing. So white box testing does not test functionality per se. Instead it tests an object's ability to accept and properly respond to unexpected inputs. For example, when I tested a Queue class, Jtest attempted to enqueue a null parameter to see if the Queue's enqueue method could handle it.