When choosing a compiler (which should be understood to include the linker), a compiler that complies with the Java Language Specification \ [[JLS 2005|AA. References#JLS 05]\] should be used whenever possible. Wiki Markup
When choosing a source code analysis tool, it is clearly desirable that the tool be able to enforce as many of the guidelines in this document as possible. Not all recommendations are enforceable; some are strictly meant to be informative.
...