Direct Comparison - Findbugs vs PMD vs Checkstyle
Findbugs [1] | PMD [3] | Checkstyle [2] | |
Version | 3.0.0 | 5.2.2 | 6.1.1 |
License | Lesser GNU Public License | BSD-style license | Lesser General Public License |
Purpose | Potential Bugs finds - as the name suggests - bugs in Java byte code | Bad Practices looks for potential problems, possible bugs, unused and sub-optimal code and over- complicated expressions in the Java source code | Conventions scans source code and looks for coding standards, e.g. Sun Code Conventions, JavaDoc |
Strengths | - finds often real defects - low false detected rates - fast because byte code - less than 50% false positive | - finds occasionally real defects - finds bad practices | - finds violations of coding conventions |
Weaknesses | - is not aware of the sources - needs compiled code | - slow duplicate code detector | - can't find real bugs |
Number of rules | 408 | 234 | 132 |
Rule Categories | Correctness Bad practice Dodgy code Multithreaded Correctness Performance Malicious Code Vulnerability Security Experimental Internationalization | JSP - Basic JSF - Basic JSP XSL - XPath in XSL Java - Design - Coupling - Jakarta Commons Logging - Basic - Strict Exceptions - Security Code Guidelines - Java Logging - Android -Controversial - Comments - Type Resolution - Empty Code - String and StringBuffer - Code Size - Braces - Unused Code - Unnecessary - J2EE - JavaBeans - Migration - Import Statements - JUnit - Naming - Finalizer - Optimization - Clone Implementation Ecmascript - Basic Ecmascript - Unnecessary - Braces XML - Basic XML | Annotations Block Checks Class Design Coding Duplicate Code Headers Imports Javadoc Comments Metrics Miscellaneous Modifiers Naming Conventions Regexp Size Violations |
No comments:
Post a Comment