Analysis tools logo

Best 87 Java static analysis tools

76

Teamscale

  • Type: service
  • Type: ide-plugin

Static and dynamic analysis tool supporting more than 25 languages and direct IDE integration. Free hosting for Open Source projects available on request. Free academic licenses available.

33

SonarQube

  • Type: service

SonarQube is an open platform to manage code quality.

29

CogniCrypt

  • Type: cli

Checks Java source and byte code for incorrect uses of cryptographic APIs.

20

Semgrep

  • Type: cli

Free, open-source lightweight static analysis for many languages. Find and block bug variants with patterns that look like source code.

11

Coverity

  • Type: cli

Synopsys Coverity supports 20 languages and over 70 frameworks including Ruby on rails, Scala, PHP, Python, JavaScript, TypeScript, Java, Fortran, C, C++, C#, VB.NET.

10

Better Code Hub

  • Type: service

Better Code Hub checks your GitHub codebase against 10 engineering guidelines devised by the authority in software quality, Software Improvement Group.

9

PVS-Studio

  • Type: service

A ([conditionally free](https://www.viva64.com/en/b/0614/) for FOSS and individual developers) static analysis of C, C++, C# and Java code. For advertising purposes [you can propose a large FOSS project for analysis by PVS employees](https://github.com/viva64/pvs-studio-check-list). Supports CWE mapping, MISRA and CERT coding standards.

8

DeepCode

  • Type: service

DeepCode finds bugs, security vulnerabilities, performance and API issues based on AI. DeepCode's speed of analysis allow us to analyse your code in real time and deliver results when you hit the save button in your IDE. Supported languages are Java, C/C++, JavaScript, Python, and TypeScript. Integrations with GitHub, BitBucket and Gitlab.

7

Infer

  • Type: cli

A static analyzer for Java, C and Objective-C

6

ArchUnit

  • Type: cli

Unit test your Java or Kotlin architecture.

6

InsiderSec

  • Type: cli

A open source Static Application Security Testing tool (SAST) written in GoLang for Java (Maven and Android), Kotlin (Android), Swift (iOS), .NET Full Framework, C# and Javascript (Node.js).

5

checkstyle

  • Type: cli

Checking Java source code for adherence to a Code Standard or set of validation rules (best practices).

5

Fortify

  • Type: ide-plugin

A commercial static analysis platform that supports the scanning of C/C++, C#, VB.NET, VB6, ABAP/BSP, ActionScript, Apex, ASP.NET, Classic ASP, VB Script, Cobol, ColdFusion, HTML, Java, JS, JSP, MXML/Flex, Objective-C, PHP, PL/SQL, T-SQL, Python (2.6, 2.7), Ruby (1.9.3), Swift, Scala, VB, and XML.

4

Checker Framework

  • Type: cli

Pluggable type-checking for Java.

4

CodeScene

  • Type: service

CodeScene is a quality visualization tool for software. Prioritize technical debt, detect delivery risks, and measure organizational aspects. Fully automated.

4

Klocwork

  • Type: service

Quality and Security Static analysis for C/C++, Java and C#.

3

PMD

  • Type: cli

A source code analyzer for Java, Salesforce Apex, Javascript, PLSQL, XML, XSL and others.

3

Soot

  • Type: cli

A framework for analyzing and transforming Java and Android applications.

2

Atom-Beautify

  • Type: ide-plugin

Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom editor.

2

Find Security Bugs

  • Type: cli

The SpotBugs plugin for security audits of Java web applications and Android applications. (Also work with Kotlin, Groovy and Scala projects)

2

Semmle QL and LGTM

  • Type: cli

Find security vulnerabilities, variants, and critical code quality issues using queries over source code. Automatic PR code review; free for public GitHub/Bitbucket repo: [LGTM.com](https://LGTM.com).

2

SpotBugs

  • Type: cli

SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.

1

Axivion Bauhaus Suite

  • Type: cli

Tracks down error-prone code locations, style violations, cloned or dead code, cyclic dependencies and more for C/C++, C#/.NET, Java and Ada 83/Ada 95.

1

Error-prone

  • Type: cli

Catch common Java mistakes as compile-time errors.

1

fb-contrib

  • Type: cli

A plugin for FindBugs with additional bug detectors.

1

google-java-format

  • Type: cli

Google Style Reformat.

1

NullAway

  • Type: cli

Type-based null-pointer checker with low build-time overhead; an [Error Prone](http://errorprone.info/) plugin.

1

pre-commit

  • Type: cli

A framework for managing and maintaining multi-language pre-commit hooks.

1

ShiftLeft Scan

  • Type: cli
  • Type: service

Scan is a free open-source DevSecOps platform for detecting security issues in source code and dependencies. It supports a broad range of languages and CI/CD pipelines.

1

Snyk

  • Type: service

Vulnerability scanner for dependencies of node.js apps (free for Open Source Projects).

1

Unibeautify

  • Type: cli
  • Type: service

Universal code beautifier with a GitHub app. Supports HTML, CSS, JavaScript, TypeScript, JSX, Vue, C++, Go, Objective-C, Java, Python, PHP, GraphQL, Markdown, and more.

1

Xanitizer

  • Type: cli

Xanitizer finds security vulnerabilities in web applications. It supports Java, Scala, JavaScript and TypeScript.

0

Android Studio

  • Type: ide-plugin

Based on IntelliJ IDEA, and comes bundled with tools for Android including Android Lint.

0

AppChecker

  • Type: cli

Static analysis for C/C++/C#, PHP and Java.

0

Application Inspector

  • Type: service

Commercial Static Code Analysis which generates exploits to verify vulnerabilities.

0

ApplicationInspector

  • Type: cli

Creates reports of over 400 rule patterns for feature detection (e.g. the use of cryptography or version control in apps).

0

ck

  • Type: cli

Calculates Chidamber and Kemerer object-oriented metrics by processing the source Java files.

0

ckjm

  • Type: cli

Calculates Chidamber and Kemerer object-oriented metrics by processing the bytecode of compiled Java files.

0

ClassGraph

  • Type: cli

A classpath and module path scanner for querying or visualizing class metadata or class relatedness.

0

coala

  • Type: cli

Language independent framework for creating code analysis - supports [over 60 languages](https://coala.io/languages) by default.

0

Code Inspector

  • Type: service

Code quality and technical debt management platform that supports 10+ languages.

0

Codeac

  • Type: service

Automated code review tool integrates with GitHub, Bitbucket and GitLab (even self-hosted). Available for JavaScript, TypeScript, Python, Ruby, Go, PHP, Java, Docker, and more. (open-source free)

0

codeburner

  • Type: cli

Provides a unified interface to sort and act on the issues it finds.

0

CodeFlow

  • Type: service

Automated code analysis tool to deal with technical depth. Integrates with Bitbucket and Gitlab. (free for Open Source Projects)

0

CodePatrol

  • Type: service

Automated SAST code reviews driven by security, supports 15+ languages and includes security training.

0

Depends

  • Type: cli

Analyses the comprehensive dependencies of code elements for Java, C/C++, Ruby.

0

DesigniteJava

  • Type: cli

DesigniteJava supports detection of various architecture, design, and implementation smells along with computation of various code quality metrics.

0

DevSkim

  • Type: ide-plugin

Regex-based static analysis tool for Visual Studio, VS Code, and Sublime Text - C/C++, C#, PHP, ASP, Python, Ruby, Java, and others.

0

forbidden-apis

  • Type: cli

Detects and forbids invocations of specific method/class/field (like reading from a text stream without a charset). Maven/Gradle/Ant compatible.

0

Goodcheck

  • Type: cli

Regexp based customizable linter.

0

graudit

  • Type: cli

Grep rough audit - source code auditing tool.

0

IntelliJ IDEA

  • Type: ide-plugin

Comes bundled with a lot of inspections for Java and Kotlin and includes tools for refactoring, formatting and more.

0

JArchitect

  • Type: cli

Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.

0

JBMC

  • Type: cli

Bounded model-checker for Java (bytecode), verifies user-defined assertions, standard assertions, several coverage metric analyses.

0

LGTM.com

  • Type: service

Deep code analysis for GitHub and Bitbucket to find security vulnerabilities and critical code quality issues (using Semmle QL). Automatic code review for pull requests; free for public repositories.

0

Lumnify

  • Type: cli

Benchmark against thousands of projects, and analyse code for structural quality with focus on maintainability.

0

OWASP Dependency Check

  • Type: cli

Checks dependencies for known, publicly disclosed, vulnerabilities.

0

Pronto

  • Type: cli

Quick automated code review of your changes. Supports more than 40 runners for various languages, including Clang, Elixir, JavaScript, PHP, Ruby and more.

0

qulice

  • Type: cli

Combines a few (pre-configured) static analysis tools (checkstyle, PMD, Findbugs, ...).

0

relint

  • Type: cli

A static file linter that allows you to write custom rules using regular expressions (RegEx).

0

Reshift

  • Type: service

A source code analysis tool for detecting and managing Java security vulnerabilities.

0

RIPS

  • Type: cli

A static source code analyser for vulnerabilities in PHP scripts.

0

Scrutinizer

  • Type: service

A proprietary code quality checker that can be integrated with GitHub.

0

Security Code Scan

  • Type: ide-plugin

Security code analyzer for C# and VB.NET. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc. Integrates into Visual Studio 2015 and newer. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc.

0

SmartDec Scanner

  • Type: cli

SAST tool which is capable of identifying vulnerabilities and undocumented features. The analyzer scans the source code and executables without debug info (i.e. binaries). Supports: Java/Scala/Kotlin, PHP, C#, JavaScript, TypeScript, VBScript, HTML5, Python, Perl, C/C++, Objective-C/Swift, PL/SQL, T-SQL, ABAP, 1C, Apex, Go, Ruby, Groovy, Delphi, VBA, Visual Basic 6, Solidity, Vyper, COBOL.

0

SonarCloud

  • Type: service

Multi-language cloud-based static code analysis. History, trends, security hot-spots, pull request analysis and more. Free for open source.

0

Spoon

  • Type: cli

Spoon is a metaprogramming library to analyze and transform Java source code (incl Java 9, 10, 11, 12, 13, 14). It parses source files to build a well-designed AST with powerful analysis and transformation API. Can be integrated in Maven and Gradle.

0

Undebt

  • Type: cli

Language-independent tool for massive, automatic, programmable refactoring based on simple pattern definitions.

0

Upsource

  • Type: service

Code review tool with static code analysis and code-aware navigation for Java, PHP, JavaScript and Kotlin.

0

Veracode

  • Type: cli

Find flaws in binaries and bytecode without requiring source. Support all major programming languages: Java, .NET, JavaScript, Swift, Objective-C, C, C++ and more.

0

Violations Lib

  • Type: cli

Java library for parsing report files from static code analysis. Used by a bunch of Jenkins, Maven and Gradle plugins.

0

WALA

  • Type: cli

Static analysis capabilities for Java bytecode and related languages and for JavaScript.

0

WhiteHat Application Security Platform

  • Type: cli

WhiteHat Scout (for Developers) combined with WhiteHat Sentinel Source (for Operations) supporting WhiteHat Top 40 and OWASP Top 10.

-1

CAST Highlight

  • Type: cli

Commercial Static Code Analysis which runs locally, but uploads the results to its cloud for presentation.

-1

Synopsys

  • Type: cli

A commercial static analysis platform that allows for scanning of multiple languages (C/C++, Android, C#, Java, JS, PHP, Python, Node.JS, Ruby, Fortran, and Swift).

-2

APPscreener

  • Type: cli

Static code analysis for binary and source code - Java/Scala, PHP, Javascript, C#, PL/SQL, Python, T-SQL, C/C++, ObjectiveC/Swift, Visual Basic 6.0, Ruby, Delphi, ABAP, HTML5 and Solidity.

-2

Embold

  • Type: service

Intelligent software analytics platform that identifies design issues, code issues, duplication and metrics. Supports Java, C, C++, C#, JavaScript, TypeScript, Python, Go, Kotlin and more.

-2

Kiuwan

  • Type: service

Identify and remediate cyber threats in a blazingly fast, collaborative environment, with seamless integration in your SDLC. Python, C\C++, Java, C#, PHP and more.

Deprecated/unmaintained tools

0

Hopper

  • Type: cli

A static analysis tool written in scala for languages that run on JVM.

0

pfff

  • Type: cli

Facebook's tools for code analysis, visualizations, or style-preserving source transformation for many languages.

0

PT.PM

  • Type: cli

An engine for searching patterns in the source code, based on Unified AST or UST. At present time C#, Java, PHP, PL/SQL, T-SQL, and JavaScript are supported. Patterns can be described within the code or using a DSL.

0

shipshape

  • Type: cli

Static program analysis platform that allows custom analyzers to plug in through a common interface.

-1

HuntBugs

  • Type: cli

Bytecode static analyzer tool based on Procyon Compiler Tools aimed to supersede FindBugs.

❤️ Sponsor this project

We are currently looking for partners who want to sponsor hosting and development of the project.

Check out our Github Sponsors page here

Missing an entry? Please let us know.