Code AnalysisThis topic is about tools for analyzing computer code.
Java Coding Standard Checker (JCSC) GPLInspired by "lint" with a GUI rule editor and plug-ins for Ant, IntelliJ, and CruiseControl.
FindBugs LGPLHas Eclipse plug-in: http://findbugs.sourceforge.net/.
PMD BSD-styleRule-based code checker that has been around long while and has integration with many IDEs and the like.
A book, "PMD Applied": http://books.slashdot.org/books/07/02/16/1515230.shtml.
Links to related tools: http://pmd.sourceforge.net/similar-projects.html.
Glass BoxImpressive looking automatic test & diagnostic tool for Java servers. AOP-based using JMX for instrumentation and OSS (CPL)!
JUnitFactoryhttp://www.junitfactory.com/ is a web service that returns automatically generated JUnit tests for code.
Formal MethodsA gazillion things have been written on formal methods for program, software, and computation.
- Sparse, the semantic parser, provides a compiler frontend capable of parsing most of ANSI C as well as many GCC extensions, and a collection of sample compiler backends, including a static analyzer also called "sparse". Sparse provides a set of annotations designed to convey semantic information about types, such as what address space pointers point to, or what locks a function acquires or releases. Linus Torvalds started writing Sparse in 2003, initially targeting issues such as mixing pointers to user address space and pointers to kernel address space.