This is a list of notable tools for static program analysis (program analysis is a synonym for code analysis).

Static code analysis tools

ToolLatest releaseFree softwareLanguages supportedNotes
AdaC, C++, C#, Objective-CJVMJavaScript, TypeScript.NET, VB.NETPythonOther languages
Astrée2024-10 (24.10)No; proprietaryC, C++Finds all potential runtime errors and data races by abstract interpretation, can prove their absence and functional assertions; tailored toward safety-critical C, C++ code (e.g., avionics and automotive); includes MISRA checker
Axivion Suite2025-05-19 (7.10)No; proprietaryC, C++, C#QML, Axivion CUDAStatic code analysis suite designed for safety-critical and security-focused software development with certification support for ISO 26262, IEC 61508, IEC 62304, EN 50128, and EN 50657; comprehensive analysis includes coding standards compliance (MISRA C/C++, AUTOSAR, CERT, CWE), clone detecting, dead code analysis, architecture verifying, cycle detecting, and metrics monitoring; includes qualification kit for regulated environments as in automotive, aerospace, medical devices, security
BLAST (retired)2015-10-30 (2.7.3)Yes; ASL 2COpen-source software model checker for C programs based on lazy abstraction (successor project is CPAchecker)
Clang2026-04-11 (22.1.3)Yes; ASL 2 with LLVM ExceptionsC, C++, Objective-COpen-source compiler that includes static analyzer, as of version 3.2, analyzer is included in Xcode
Coccinelle2021-09-06 (1.1.1)Yes; GPLv2COpen-source source code pattern matching and transforming
Code Dx (Defunct 2021)2015-01-15No; proprietaryC, C++, C#Java, JSP, ScalaJavaScriptVB.NETPythonPHP, Rails, Ruby, XMLSoftware application vulnerability correlation and management system; uses multiple SAST and DAST tools, and results of manual code reviews; can calculate cyclomatic complexity
CodePeer2021-05-07 (21)No; proprietaryAdaAdvanced static analysis tool; detects potential run-time logic errors in Ada programs
CodeScene2023-10-13 (6.3.5)No; proprietaryC, C++, C#, Objective-CJava, Groovy, ScalaJavaScript, TypeScriptVB.NETPythonSwift, Go, PHP, RubyBehavioral analysis of code; helps identify, prioritize, and manage technical debt; measures organizational aspects of developer teams; automated pull request integrations
CodeQL2026-02-05 (CLI: 2.24.1)No; proprietaryC, C++, C#Java, KotlinJavaScript, TypeScript.NETPythonSwift, Go, Ruby, RustCode search tool, focus on finding software bugs; search patterns written in query language that can search the AST and graphs (CFG, DFG, etc.) of supported languages; plugin available for Visual Studio Code
ConQAT (retired)2015-02-01Yes; ASL 2AdaC#, C++JavaJavaScriptABAPContinuous quality assessment toolkit; allows flexible configuration of quality analyses (architecture conformance, clone detection, quality metrics, etc.) and dashboards
Coverity2023-04-29 (2022.12)No; proprietaryC, C++, C#, Objective-CJavaJavaScript, TypeScriptPythonRuby, PHPMulti-language tool for security and quality issues; supports compliance standards (MISRA, ISO 26262 and others); free use for open-source projects
ECLAIR2025-05-12 (3.14.0)No; proprietaryC, C++Multi-language tool for software verification. Applications range from coding rule validation, to automatic generation of testcases, to the proof of absence of run-time errors or generation of counterexamples, and to the specification of code matchers and rewriters based both syntactic and semantic conditions. Supports compliance standards (MISRA, Embedded C Coding Standard and others).
CPAchecker2022-01-24 (2.1.1)Yes; ASL 2CConfigurable software verification tool for execution path checking of C
Cppcheck2025-02-23 (2.17)Partly; framework is GPL v3, with some proprietary featuresC, C++Open-source tool; checks for several types of errors, including use of STL; MISRA support being added
Cppdepend2023-03-01 (2023.1)No; proprietaryC, C++Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code.
Cpplint2020-07-29Yes; CC-BY-3.0C++Open-source tool; checks compliance with C++ coding Google style guide
Fluctuat2001No; proprietaryAda95CAbstract interpreter to validate program numerical properties
Fluid Attacks2026-01-07No; proprietaryC#Java, Kotlin, ScalaJavaScript, TypeScriptPythonPHP, Dart, Go, HCL, HTML, JSON, Ruby, Swift, XML, YAMLSAST tool; supports many programming languages and frameworks; based on graph algorithms using Tree-sitter, can be integrated into CI/CD pipelines from providers supporting Docker
Frama-C2022-06-21Yes; LGPL v2.1, BSD, QPLCOpen-source extensible analysis framework for C with several analyzers and a specification language common to all; includes analyses based on abstract interpretation, deductive verification, runtime monitoring
GrammaTech CodeSonar2020-06-01 (5.3)No; proprietaryC, C++, Objective-CJavaDefect detection (buffer overruns, memory leaks, etc.), concurrency and security checks, architecture visualizing, software metrics
GCC2023-4-26 (13.1)Yes; GPLv3+ with GCC Runtime Library ExceptionCCompiling with -fanalyzer flag (available from GCC 10) enables the static analyzer functionality
HCL Security AppScan Source2020-12-01 (10.0.3)No; proprietaryC, C++Java, JSPJavaScript.NETPythonColdFusion, ASP, PHP, Perl, Visual Basic 6, PL/SQL, T-SQL, COBOLAnalyzes source code to identify security vulnerabilities while integrating security testing with software development processes and systems
Helix QAC2023-04 (2023.1)No; proprietaryC, C++Formerly PRQA QA·C and QA·C++, deep static analysis of C/C++ for quality assurance and guideline/coding standard enforcement with MISRA support
Infer Static Analyzer2024-06-21 (1.2.0)Yes; MITC, C++, Objective-CJavaTargets null pointer problems, leaks, concurrency issues and API usage for Facebook's mobile apps, available as open source on GitHub; sometimes called Facebook Infer
Imagix 4D2020-10-01 (10.1.0)No; proprietaryC, C++JavaWindows and Linux versions
Kiuwan2020-07-22No; proprietaryC, C++, C#, Objective-CJava, JSPJavaScriptVB.NETABAP, COBOL, PHP, PL/SQL, T-SQL, SQL, Visual Basic, AndroidSoftware Analytics end-to-end platform for static code analysis and automated code review; covers defect detection, application security & IT risk management, with enhanced life cycle and application governance features; supports over 20 languages
Klocwork2023-04-04 (2023.1)No; proprietaryC, C++, C#JavaJavaScriptPythonKotlinProvides security vulnerability, standards compliance (MISRA, ISO 26262 and others), defect detection and build-over-build trend analysis
Lint1978-07-26Yes; permissive BSD-likeCThe original, from 1978, static code analyzer for C
MALPASNo; proprietaryAdaCPascal, Assembler (Intel, PowerPC and Motorola)Software static analysis toolset for many languages; main use is for safety criticality in nuclear and aerospace industries
Moose2021-01-21 (7.0.3)Yes; MITC, C++Java.NETSmalltalkBegun as software analysis platform with many tools to manipulate, assess or visualize software; evolving to a more generic data analysis platform
NDepend2022-03-16 (2022.1)No; proprietaryC#VB.NET .NETSimplifies managing a complex .NET code base by analyzing and visualizing code dependencies, by defining design rules, doing impact analysis, comparing different versions; integrates into Visual Studio
.NET Compiler Platform (Roslyn)2020-12-08 (3.8.0)Yes; MITC#VB.NETOpen-source compiler framework for C# and Visual Basic (.NET) developed by Microsoft .NET, provides an API to analyze and manipulate syntax; FxCop rules were implemented into Roslyn
Parasoft C/C++test2024-12-03 (2024.2)No; proprietaryC, C++C/C++ tool with AI; does static analysis, unit tests, code review, runtime error detecting, enforcing safety and security standards; plugins available for Visual Studio, Visual Studio Code, Eclipse-based IDEs, and GitHub integrating
Parasoft Jtest2024-12-03 (2024.2)No; proprietaryJavaJava tool with AI; does static analysis, unit tests, enforces safety and security standards; plugins available for IntelliJ IDEA, Visual Studio Code and Eclipse-based IDEs, GitHub integration
PC-lint Plus2022-08-02 (2.0 Beta 2)No; proprietaryC, C++Static analysis tool used to detect wide range of defects, identify suspicious code, enforce various coding standards (MISRA/AUTOSAR/etc), calculate and report complex metrics, and implement user-defined checks
PMD2025-11-28 (7.19.0)Yes; BSD-likeC, C++Java, Kotlin, Scala, JSP, Apache Velocity Template Language (VTL)JavaScriptApex, ColdFusion, HTML, PHP, PLSQL, Swift, Visualforce, XML, Maven POM, WSDL, XSLDuplicate code detector
Polyspace2022-09-15No; proprietaryAdaC, C++Uses abstract interpretation to detect and prove absence of some runtime errors and dead code in source code; used to check all MISRA (2004, 2012) rules (directives, non directives)
Pretty Diff2019-04-21 (101.0.0)Yes; CC0JavaScript, TypeScriptMarkup, script and style languages (like XML, CSS)Language-specific code comparing tool; features analysis reporting, minification, and beautification algorithms
PVS-Studio2024-08-16 (7.32)No; proprietaryC, C++, C++/CLI, C++/CX, C#JavaSoftware analysis tool
Qodana2023-07-23 (2023.2)No; proprietaryC#Java, KotlinJavaScript, TypeScriptVB.NETPythonGo, HTML, PHP, CSS, Android, Vue.jsCode quality analysis tool; uses static code analysis
RIPS2020-02-17 (3.4)No; proprietaryJavaPHPStatic code analysis tool with many integration options for automated detection of complex security vulnerabilities
Semgrep2026-04-10 (1.159.0)Yes; LGPL v2.1JavaJavaScript, TypeScriptPythonGo, JSON, PHP, Ruby, language-agnostic modeStatic analysis tool; helps expressing code standards and surfacing bugs early; experimental support for 11 other languages; CI service and rule library available
Sider2021-02-02No; proprietaryJavaScript, CoffeeScriptPythonRuby, PHP, GoStatic code analysis based automated code review tool working on GitHub and GitLab; checks style, quality, dependencies, security and bugs; integrates several open source static analysis tools
SLAM project2010-07-14No; proprietaryCMicrosoft Research project for checking that software (drivers) satisfies critical behavioral properties of interfaces it uses
SofCheck Inspector, Codepeer2020-08-24 (21.x)No; proprietaryAdaJavaStatic detection of logic errors, race conditions, redundant code; automatically extracts pre-postconditions from code
SonarQube2024-02-05 (10.4)Partly; framework is LGPL v3.0, but some features can be proprietaryC, C#, C++, Objective-CJava, Kotlin, ScalaJavaScript, TypeScriptVB.NETPythonABAP, Apex, CSS, COBOL, Flex, Go, HTML, PHP, PLI, PL/SQL, Ruby, Swift, TSQL, Visual Basic 6, XMLContinuous inspection engine that finds vulnerabilities, bugs, code smells, and tracks code complexity, unit test coverage, duplication; offers branch analysis and C, C++, Objective-C support via commercial licenses
SourceMeter2016-12-16 (8.2)No; proprietaryC, C++JavaPythonRPG IV (AS/400)Cross-platform, command-line static source code analyzer; integrates with PMD and SpotBugs
Sourcetrail (retired)2021-04 (2021.4.19)Yes; GPLC, C++JavaPythonPerlOpen-source source code explorer; provides interactive dependency graphs, supports several programming languages
Sparse2021-09-06 (0.6.4)Yes; MITCGCC extensionsOpen-source tool designed to find faults in Linux kernel
Splint2007-07-12 (3.1.2)Yes; GPLv2COpen-source tool statically checking C programs for security vulnerabilities and coding errors
StyleCop2016-05-02 (2016.1.0)Yes; Ms-PLC#.NETAnalyzes C# source code to enforce a set of style and consistency rules; can be run from inside of Visual Studio or integrated into an MSBuild project
Squore2020-11-27 (20.1)No; proprietaryAdaC, C++, C#, Objective-CJavaJavaScript, TypeScriptVB.NETPythonFortran, PHP, PL/SQL, Swift, T-SQL, XAMLMulti-purpose and multi-language monitoring tool for software projects; integrates with other scanners
Understand2023-01-19 (6.3)No; proprietaryAdaC, C++, C#, Objective-CJavaJavaScriptPythonFORTRAN, Jovial, Pascal, VHDL, HTML, PHP, XMLMulti-platform tool for code analysis and comprehension of large code bases; recognizes many dialects of C, C++, C# like ANSI, K&R and Objective-C++
Visual Expert2021-09-10No; proprietaryPowerBuilder, Oracle PL/SQL, SQL Server Transact-SQL (T-SQL)Continuous code inspecting, reports on quality and security issues, helps understand complex code (cross-references, source code documenting and comparing, code performance analysis)
Visual Studio2021-10-12 (16.11)No; proprietaryC, C++, C#VB.NETIDE; provides static code analysis for C/C++ in editor environment and from compiler command line; includes .NET Compiler Platform (Roslyn) which provides C# and VB.NET analysis
Yasca (retired)2010-11-01 (2.21)Yes; multiple licensesC, C++JavaJavaScriptASP, PHP, HTML, CSS, ColdFusion, COBOLYet Another Source Code Analyzer; plugin-based framework to scan arbitrary file types, with plugins; integrates with other scanners, including FindBugs, PMD, Pixy
ToolReleaseFree softwareLanguages supportedNotes

Languages

Ada

  • CodePeer
  • ConQAT
  • Fluctuat
  • LDRA Testbed
  • MALPAS
  • Polyspace
  • SofCheck Inspector
  • Squore
  • Understand

C , C++

  • Astree
  • Axivion Suite (Bauhaus)
  • BLAST
  • Clang
  • Coccinelle
  • Coverity
  • CPAchecker
  • Cppcheck
  • Cppdepend
  • Cpplint
  • ECLAIR
  • Eclipse
  • Fluctuat
  • Frama-C
  • GCC
  • Helix QAC
  • Facebook Infer
  • Klocwork
  • Lint
  • LDRA Testbed
  • Parasoft C/C++test
  • PC-lint Plus
  • Polyspace
  • PVS-Studio
  • SLAM project
  • Sparse
  • SonarQube
  • Splint
  • Understand
  • Visual Studio

C#

  • Axivion Suite (Bauhaus)
  • Code Dx
  • CodeScene
  • CodeQL
  • Coverity
  • Fluid Attacks
  • Kiuwan
  • Klocwork
  • .NET Compiler Platform
  • PVS-Studio
  • SonarQube
  • Sotoarc
  • StyleCop
  • Squore
  • Understand
  • Visual Studio

IEC 61131-3

  • CODESYS Static Analysis – integrated add-on for CODESYS (application code realized e.g. in ST, FBD, LD)

Java

ToolLatest releaseFree softwareDuplicate codeNotes
Checkstyle2020-01-26Yes; LGPLNoBesides some static code analysis, it can be used to show violations of a configured coding standard. Duplicate code detection was removed from Checkstyle.
Eclipse2017-06-28Yes; EPLNoCross-platform IDE with own set of several hundred code inspections available for analyzing code on-the-fly in the editor and bulk analysis of the whole project. Plugins for Checkstyle, FindBugs, and PMD.
FindBugs2015-03-06Yes; LGPLBased on Jakarta BCEL from the University of Maryland. SpotBugs is the spiritual successor of FindBugs, carrying on from the point where it left off with support of its community.
IntelliJ IDEA2021-04-06Yes; ASL 2YesA leading Java IDE with built-in code inspection and analysis. Plugins for Checkstyle, FindBugs, and PMD.
JArchitect2017-06-11No; proprietarySimplifies managing a complex code base by analyzing and visualizing code dependencies, defining design rules, doing impact analysis, and by comparing different versions of the code.
Jtest2024-11-01 (2024.2)No; proprietaryYesTesting and static code analysis product by Parasoft.
Soot2020-10-28Yes; LGPLA language manipulation and optimization framework consisting of intermediate languages.
PMD2025-11-28Yes; BSD LicenseYesStatic code analyzer with support for plugins, including CPD. PMD supports checking of several languages.
Squale2011-05-26Yes; LGPLA platform to manage software quality.
ThreadSafe2014-03-28No; proprietaryA static analysis tool focused on finding concurrency bugs.
  • Coverity
  • Facebook Infer
  • Fluid Attacks
  • Klocwork
  • LDRA Testbed
  • PMD
  • RIPS
  • Semgrep
  • SourceMeter
  • Understand

JavaScript

  • ESLint – JavaScript syntax checker and formatter.
  • Google's Closure Compiler – JavaScript optimizer that rewrites code to be faster and smaller, and checks use of native JavaScript functions.
  • CodeScene – Behavioral analysis of code.
  • Fluid Attacks
  • JSHint – A community driven fork of JSLint.
  • JSLint – JavaScript syntax checker and validator.
  • Klocwork
  • Semgrep – A static analysis tool that helps expressing code standards and surfacing bugs early. A CI service and a rule library is also available.
  • Understand

Objective-C , Objective-C++

  • Clang – The free Clang project includes a static analyzer. As of version 3.2, this analyzer is included in Xcode.
  • Infer – Developed by an engineering team at Facebook with open-source contributors. Targets null pointers, leaks, API usage and other lint checks. Available as open source on github.
  • Understand

Opa

  • Opa includes its own static analyzer. As the language is intended for web application development, the strongly statically typed compiler checks the validity of high-level types for web data, and prevents by default many vulnerabilities such as XSS attacks and database code injections.

Packaging

  • Lintian – Checks Debian software packages for common inconsistencies and errors.
  • Rpmlint – Checks for common problems in rpm packages.

Perl

  • Perl::Critic – A tool to help enforce common Perl best practices. Most best practices are based on Damian Conway's Perl Best Practices book.
  • PerlTidy – Program that acts as a syntax checker and tester/enforcer for coding practices in Perl.
  • Padre – An IDE for Perl that also provides static code analysis to check for common beginner errors.

PL/SQL

PowerBuilder , PowerScript

Python

  • PyCharm – Cross-platform Python IDE with code inspections available for analyzing code on-the-fly in the editor and bulk analysis of the whole project.
  • PyDev – Eclipse-based Python IDE with code analysis available on-the-fly in the editor or at save time.
  • Pylint – Static code analyzer. Quite stringent; includes many stylistic warnings as well.
  • Fluid Attacks
  • Klocwork
  • Semgrep – Static code analyzer that helps expressing code standards and surfacing bugs early. A CI service and a rule library is also available.
  • Understand

Transact-SQL

  • Visual Expert – A SQLServer code analysis tool that reports on programming issues and helps understand and maintain complex code (Impact Analysis, source code documentation, call trees, CRUD matrix, etc.).

Tools with duplicate code detection

  • Axivion Suite (Bauhaus)
  • Code Dx
  • CodeScene
  • PMD
  • SofCheck Inspector
  • SonarQube
  • SourceMeter
  • Understand

Formal methods tools

Tools that use sound, i.e. over-approximating a rigorous model, formal methods approach to static analysis (e.g., using static program assertions). Sound methods contain no false negatives for bug-free programs, at least with regards to the idealized mathematical model they are based on (there is no "unconditional" soundness). Note that there is no guarantee they will report all bugs for buggy programs, they will report at least one.

See also

External links