Checkstyle

Basic Information
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard.

Tool first release date
2001-06-22
Version release date
2019-04-28
Software cost
Free
Software license
GNU LGPL
Hosting
Self-Hosted
Supported operating systems
FreeBSD, macOS, Linux, NetBSD, Solaris, Windows, POSIX
Process Integration
Deployment model
Workstation, CI Server, Standalone Server
Analysis inputs
Source code
SCM Integration
None
Display results in IDE
Android Studio, Eclipse, IntelliJ IDEA, NetBeans, tIDE, Vim, Visual Studio, VS Code
Live analysis & feedback while coding in IDE
Android Studio, Eclipse, IntelliJ IDEA, NetBeans, Visual Studio, VS Code
Pre-commit invocation from workstation
CI Integration
Generic command line interface (CLI), Ant, Bitbucket Server, CircleCI, Gradle, Hudson, Jenkins, Maven, SBT, TeamCity, Travis CI
Able to analyze incremental changes to code (commit, patch, pull request)
Can schedule scans
API method to report results in SARIF format
API method to report results in XML/JSON/CSV format
Coverage
Supported programming languages
Java
Claimed Weakness Coverage
Claimed Weakness Coverage information hasn't been collected yet for this analyzer.
Really want it? Let us know.
Checker Customization
Can disable checkers
Can customize checker logic
First-class API to create new checkers
Speed & Scalability
Parallelizes on one host
Parallelizes across more than one host
Results Quality
Provides explanation of warning
Provides severity of warning
Provides confidence information about warning
Provides code context around warning
Provides control flow context for warning
Provides data flow context for warning
Provides code coverage information per checker
Reporting
Results suppression even after code changes
Show differences in results set to previous scan
Integration with external remediation bug tracker
None
Two-way data sync with external remediation bug tracker
Graphical user interface (GUI)
Centralized reporting
Support

Installation guide or documentation
User/operator guide or documentation
Integration guide or API documentation