From Wikipedia:
Static program analysis is the analysis of computer software that is performed without actually executing programs
SonarQube: http://www.sonarqube.org/
Empty statements - try/catch and/or if/else blocks
Unused variables
Duplicated code
All the above is achieved through RuleSets.
XPath based PMD Rulesets: http://pmd.sourceforge.net/pmd-4.3.0/rules/index.html
Overlaps with PMD but requires compiled code
Checks for equals() and clone() method
Unsafe casting
Consumes a lot of memory
Concentrates more on code formatting
Examines code comments
Checks for unused imports
Can also check for whitespace in code
Uses code style rules recommended by Sun and Google
SonarQube (formerly Sonar[1]) is an open source platform for continuous inspection of code quality.
Build Plugins available for:
Sonar uses the test reports generated from your builds to determine how much code coverage is available. Sonar can parse Surefire, JaCoCo, Clover test reports amongst others.