Static program analysis is the analysis of computer software that is performed without actually executing programs — Wikipedia
This is a collection of static analysis tools and code quality checkers. Pull requests are very welcome!
Note: ©️ stands for proprietary software. All other tools are Open Source.
Table of Contents
Programming Languages
Ada
Codepeer - detects run-time and logic errors
Polyspace for Ada ©️ - provide code verification that proves the absence of overflow, divide-by-zero, out-of-bounds array access, and certain other run-time errors in source code.
Understand ©️ - IDE that provides code analysis, standards testing, metrics, graphing, dependency analysis and more for Ada and VHDL.
Awk
gawk --lint - warns about constructs that are dubious or nonportable to other awk implementations.
C/C++
clang-tidy - clang static analyser
CMetrics 7 1 - Measures size and complexity for C files
CodeSonar from GrammaTech ©️ - Advanced, whole program, deep path, static analysis of C and C++ with easy-to-understand explanations and code and path visualization.
Corrode 2k 120 - Semi-automatic translation from C to Rust. Could reveal bugs in the original implementation by showing Rust compiler warnings and errors.
cppcheck 2k 674 - static analysis of C/C++ code
CppDepend ©️ - Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.
cpplint 12k 4k - automated C++ checker that follows Google's style guide
cqmetrics 34 10 - quality metrics for C code
CScout - complexity and quality metrics for for C and C preprocessor code
flawfinder - finds possible security weaknesses
flint++ - cross-platform, zero-dependency port of flint, a lint program for C++ developed and used at Facebook.
Frama-C - a sound and extensible static analyzer for C code
oclint - static analysis of C/C++ code
Polyspace Bug Finder ©️ - identifies run-time errors, concurrency issues, security vulnerabilities, and other defects in C and C++ embedded software.
Polyspace Code Prover ©️ - provide code verification that proves the absence of overflow, divide-by-zero, out-of-bounds array access, and certain other run-time errors in C and C++ source code.
scan-build - Analyzes C/C++ code using LLVM at compile-time
splint - Annotation-assisted static program checker
tis-interpreter 387 17 - An interpreter for finding subtle bugs in programs written in standard C
vera++ - Vera++ is a programmable tool for verification, analysis and transformation of C++ source code.
C#
.NET Analyzers - An organization for the development of analyzers (diagnostics and code fixes) using the .NET Compiler Platform.
Code Analysis Rule Collection - Contains a set of diagnostics, code fixes and refactorings built on the Microsoft .NET Compiler Platform "Roslyn".
code-cracker 763 293 - An analyzer library for C# and VB that uses Roslyn to produce refactorings, code analysis, and other niceties.
CodeRush ©️ - Code creation, debugging, navigation, refactoring, analysis and visualization tools that use the Roslyn engine in Visual Studio 2015 and up.
CSharpEssentials 151 33 - C# Essentials is a collection of Roslyn diagnostic analyzers, code fixes and refactorings that make it easy to work with C# 6 language features.
Designite ©️ - Designite is a software design quality assessment tool. It supports detection of implementation and design smells, computation of various code quality metrics, and trend analysis.
Gendarme - Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET).
NDepend ©️ - Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.
Puma Scan 75 16 - Puma Scan provides real time secure code analysis for common vulnerabilities (XSS, SQLi, CSRF, LDAPi, crypto, deserialization, etc.) as development teams write code in Visual Studio.
Refactoring Essentials - The free Visual Studio 2015 extension for C# and VB.NET refactorings, including code best practice analyzers.
ReSharper ©️ - Extends Visual Studio with on-the-fly code inspections for C#, VB.NET, ASP.NET, JavaScript, TypeScript and other technologies.
Roslyn Security Guard - Project that focus on the identification of potential vulnerabilities such as SQL injection, cross-site scripting (XSS), CSRF, cryptography weaknesses, hardcoded passwords and many more.
Roslynator 500 56 - A collection of 190+ analyzers and 190+ refactorings for C#, powered by Roslyn.
Security Code Scan - Security code analyzer for C# and VB.NET. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc.
SonarLint for Visual Studio - SonarLint is an extension for Visual Studio 2015 and 2017 that provides on-the-fly feedback to developers on new bugs and quality issues injected into .NET code.
VSDiagnostics 47 12 - A collection of static analyzers based on Roslyn that integrate with VS.
Wintellect.Analyzers 69 16 - .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes.
Crystal
ameba 35 3 - A static code analysis tool for Crystal
crystal - The Crystal compiler has built-in linting functionality.
Elixir
credo 2k 194 - A static code analysis tool with a focus on code consistency and teaching.
Dogma 443 65 - A code style enforcer for Elixir
sobelow 325 23 - Security-focused static analysis for the Phoenix Framework
Erlang
elvis 310 79 - Erlang Style Reviewer
Go
deadcode 8 6 - Finds unused code.
dingo-hunter 102 6 - Static analyser for finding deadlocks in Go.
dupl 84 8 - Reports potentially duplicated code.
errcheck 842 66 - Check that error return values are used.
flen 32 2 - Get info on length of functions in a Go package.
gas 90 17 - Inspects source code for security problems by scanning the Go AST.
Go Meta Linter 2k 191 - Concurrently run Go lint tools and normalise their output.
go tool vet --shadow - Reports variables that may have been unintentionally shadowed.
go vet - Examines Go source code and reports suspicious.
go-staticcheck 1k 48 - go vet on steroids, similar to ReSharper for C#.
go/ast - Package ast declares the types used to represent syntax trees for Go packages.
goconst 2 1 - Finds repeated strings that could be replaced by a constant.
gocyclo 10 0 - Calculate cyclomatic complexities of functions in Go source code.
gofmt -s - Checks if the code is properly formatted and could not be further simplified.
goimports - Checks missing or unreferenced package imports.
golint 839 63 - Prints out coding style mistakes in Go source code.
goreporter 2k 108 - concurrently runs many linters and normalises their output to a report.
goroutine-inspect 17 1 - An interactive tool to analyze Golang goroutine dump.
gosimple 1k 48 - Report simplifications in code.
gotype - Syntactic and semantic analysis similar to the Go compiler.
ineffassign 119 10 - Detect ineffectual assignments in Go code
interfacer 805 16 - Suggest narrower interfaces that can be used.
lll 16 3 - Report long lines.
maligned 121 12 - Detect structs that would take less memory if their fields were sorted.
megacheck 1k 48 - Run staticcheck, gosimple and unused, sharing work.
misspell 249 27 - Finds commonly misspelled English words.
nakedret 13 1 - Finds naked returns.
prealloc 279 7 - Finds slice declarations that could potentially be preallocated.
safesql 311 18 - Static analysis tool for Golang that protects against SQL injections.
structcheck 29 2 - Find unused struct fields.
test - Show location of test failures from the stdlib testing module.
testify 4k 456 - Show location of failed testify assertions.
unconvert 181 13 - Detect redundant type conversions.
unimport - Finds unnecessary import aliases
unparam 76 1 - Find unused function parameters.
unused 1k 48 - Find unused variables.
varcheck 29 2 - Find unused global variables and constants.
Groovy
CodeNarc 149 67 - a static analysis tool for Groovy source code, enabling monitoring and enforcement of many coding standards and best practices
Haskell
HLint 566 93 - HLint is a tool for suggesting possible improvements to Haskell code.
Haxe
Haxe Checkstyle 29 12 - A static analysis tool to help developers write Haxe code that adheres to a coding standard.
Java
Checker Framework 332 167 - Pluggable type-checking for Java http://checkerframework.org/
checkstyle 3k 2k - checking Java source code for adherence to a Code Standard or set of validation rules (best practices)
ckjm - calculates Chidamber and Kemerer object-oriented metrics by processing the bytecode of compiled Java files
Error-prone 4k 496 - Catch common Java mistakes as compile-time errors
fb-contrib 53 24 - A plugin for FindBugs with additional bug detectors
Find Security Bugs - IDE/SonarQube plugin for security audits of Java web applications.
Hopper 32 3 - A static analysis tool written in scala for languages that run on JVM
HuntBugs 265 26 - Bytecode static analyzer tool based on Procyon Compiler Tools aimed to supersede FindBugs.
JArchitect ©️ - Measure, query and visualize your code and avoid unexpected issues, technical debt and complexity.
NullAway 2k 98 - Type-based null-pointer checker with low build-time overhead; an Error Prone plugin
OWASP Dependency Check - Checks dependencies for known, publicly disclosed, vulnerabilities.
Spoon 439 106 - Library to write your own static analyses and architectural rule checkers for Java. Can be integrated in Maven and Gradle.
SpotBugs - SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.
JavaScript
aether 147 76 - Lint, analyze, normalize, transform, sandbox, run, step through, and visualize user JavaScript, in node or the browser.
ClosureLinter 99 25 - ensures that all of your project's JavaScript code follows the guidelines in the Google JavaScript Style Guide. It can also automatically fix many common errors
coffeelint 930 225 - A style checker that helps keep CoffeeScript code clean and consistent.
complexity-report 73 3 - Software complexity analysis for JavaScript projects
DeepScan ©️ - An analyzer for JavaScript which targets runtime errors and quality issues rather than coding conventions.
escomplex 75 13 - Software complexity analysis of JavaScript-family abstract syntax trees.
eslint 12k 3k - A fully pluggable tool for identifying and reporting on patterns in JavaScript
Esprima 2k 259 - ECMAScript parsing infrastructure for multipurpose analysis
flow - A static type checker for JavaScript.
jshint 8k 2k - detect errors and potential problems in JavaScript code and enforce your team's coding conventions
JSLint 2k 293 ©️ - The JavaScript Code Quality Tool
plato 4k 269 - Visualize JavaScript source complexity
Prettier 18k 1k - An opinionated code formatter.
quality - zero configuration code and module linting
standard - An npm module that checks for Javascript Styleguide issues
XO 3k 236 - Enforce strict code style. Never discuss code style on a pull request again!
yardstick 16 0 - Javascript code metrics
Kotlin
detekt 849 98 - Static code analysis for Kotlin code.
ktlint 545 48 - An anti-bikeshedding Kotlin linter with built-in formatter
Lua
luacheck 581 98 - A tool for linting and static analysis of Lua code.
MATLAB
mlint ©️ - Check MATLAB code files for possible problems.
Perl
Perl::Critic - Critique Perl source code for best-practices.
PHP
dephpend 46 4 - Dependency analysis tool
deprecation-detector 317 47 - Finds usages of deprecated (Symfony) code
deptrac 1k 105 - Enforce rules for dependencies between software layers.
DesignPatternDetector 62 6 - detection of design patterns in PHP code
EasyCodingStandard 76 14 - combine PHP_CodeSniffer 4k 1k and PHP-CS-Fixer 6k 1k
exakat 89 16 - An automated code reviewing engine for PHP
GrumPHP 2k 179 - checks code on every commit
Mondrian 188 9 - a set of static analysis and refactoring tools which use graph theory
parallel-lint 294 50 - This tool checks syntax of PHP files faster than serial check with a fancier output.
Parse 154 19 - A Static Security Scanner
pdepend - Calculates software metrics like cyclomatic complexity for PHP code.
phan 2k 169 - a modern static analyzer from etsy
PHP Assumptions 43 3 - Checks for weak assumptions
PHP Coding Standards Fixer - Fixes your code according to standards like PSR-1, PSR-2, and the Symfony standard.
Php Inspections (EA Extended) 613 57 - A Static Code Analyzer for PHP.
PHP Refactoring Browser 566 39 - Refactoring helper
PHP Semantic Versioning Checker 387 18 - Suggests a next version according to semantic versioning
PHP-Parser 4k 558 - A PHP parser written in PHP
PHP-Token-Reflection 153 24 - Library emulating the PHP internal reflection
php7cc 1k 60 - PHP 7 Compatibility Checker
php7mar 486 34 - assist developers in porting their code quickly to PHP 7
PHP_CodeSniffer 4k 1k - detects violations of a defined set of coding standards
phpca 38 5 - Finds usage of non-built-in extensions
phpcf - Finds usage of deprecated PHP features
phpcpd 1k 157 - Copy/Paste Detector for PHP code.
phpdcd 159 16 - Dead Code Detector (DCD) for PHP code.
PhpDependencyAnalysis 276 20 - builds a dependency graph for a project
phpdoc-to-typehint 188 15 - Add scalar type hints and return types to existing PHP projects using PHPDoc annotations
phpDocumentor - Analyzes PHP source code to generate documentation
PHPMD - finds possible bugs in your code
PhpMetrics - Calculates and visualizes various code quality metrics
phpmnd 184 11 - Helps to detect magic numbers
PHPQA 179 31 - A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics)
phpqa 314 34 - PHPQA all-in-one Analyzer CLI tool
phpsa 634 56 - Static analysis tool for PHP.
PHPStan 3k 241 - PHP Static Analysis Tool - discover bugs in your code without running it!
Progpilot 6 2 - A static analysis tool for security purposes
Psalm - Static analysis tool for finding type errors in PHP applications
Qafoo Quality Analyzer 403 36 - Visualizes metrics and source code
RIPS 150 29 - A static source code analyser for vulnerabilities in PHP scripts
Tuli 179 10 - A static analysis engine
twig-lint 65 23 - twig-lint is a lint tool for your twig files.
WAP - Tool to detect and correct input validation vulnerabilities in PHP (4.0 or higher) web applications and predicts false positives by combining static analysis and data mining.
Python
bandit 728 65 - a tool to find common security issues in Python code
jedi 3k 305 - autocompletion/static analysis library for Python
linty fresh 133 13 - parse lint errors and report them to Github as comments on a pull request
mccabe 68 8 - check McCabe complexity
mypy 3k 407 - an experimental optional static type checker for Python that aims to combine the benefits of dynamic (or "duck") typing and static typing, frequently used with MonkeyType 1k 53
py-find-injection 14 1 - find SQL injection vulnerabilities in Python code
pycodestyle 966 177 - (formerly pep8
) check Python code against some of the style conventions in PEP 8
pydocstyle 258 52 - check compliance with Python docstring conventions
pyflakes 314 58 - check Python source files for errors
pylint 902 242 - looks for programming errors, helps enforcing a coding standard and sniffs for some code smells. It additionally includes pyreverse
(an UML diagram generator) and symilar
(a similarities checker).
pyroma 5 3 - rate how well a Python project complies with the best practices of the Python packaging ecosystem, and list issues that could be improved
PyT - Python Taint 360 40 - A static analysis tool for detecting security vulnerabilities in Python web applications.
vulture 61 9 - find unused classes, functions and variables in Python code
xenon 69 10 - monitor code complexity using radon
Python wrappers
ciocheck 3 2 - linter, formatter and test suite helper. As a linter, it is a wrapper around pep8
, pydocstyle
, flake8
, and pylint
.
flake8 231 44 - a wrapper around pyflakes
, pycodestyle
and mccabe
prospector 749 86 - a wrapper around pylint
, pep8
, mccabe
and others
R
lintr 377 69 ©️ - Static Code Analysis for R
Ruby
brakeman 5k 514 - A static analysis security vulnerability scanner for Ruby on Rails applications
cane 1k 84 - Code quality threshold checking as part of your build
dawnscanner 270 37 - a static analysis security scanner for ruby written web applications. It supports Sinatra, Padrino and Ruby on Rails frameworks.
flay 278 26 - Flay analyzes code for structural similarities.
flog 334 43 - Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.
laser 385 15 - Static analysis and style linter for Ruby code.
pelusa 471 23 - Static analysis Lint-type tool to improve your OO Ruby code
quality 136 14 - Runs quality checks on your code using community tools, and makes sure your numbers don't get any worse over time.
reek 3k 246 - Code smell detector for Ruby
rubocop 9k 2k - A Ruby static code analyzer, based on the community Ruby style guide.
Rubrowser 144 6 - Ruby classes interactive dependency graph generator.
ruby-lint 774 51 - Static code analysis for Ruby
rubycritic 2k 143 - A Ruby code quality reporter
SandiMeter 712 44 - Static analysis tool for checking Ruby code for Sandi Metz' rules.
Rust
clippy 2k 256 - a code linter to catch common mistakes and improve your Rust code
electrolysis 107 1 - A tool for formally verifying Rust programs by transpiling them into definitions in the Lean theorem prover.
herbie 126 2 - Adds warnings or errors to your crate when using a numerically unstable floating point expression.
linter-rust 46 38 - Linting your Rust-files in Atom, using rustc and cargo
Rust Language Server 677 92 - Supports functionality such as 'goto definition', symbol search, reformatting, and code completion, and enables renaming and refactorings.
rustfix 99 5 - read and apply the suggestions made by rustc (and third-party lints, like those offered by clippy).
Scala
linter 249 32 - Linter is a Scala static analysis compiler plugin which adds compile-time checks for various possible bugs, inefficiencies, and style problems.
Scalastyle - Scalastyle examines your Scala code and indicates potential problems with it.
scapegoat 103 19 - Scala compiler plugin for static code analysis
WartRemover 665 76 - a flexible Scala code linting tool.
Shell
shellcheck 8k 472 - ShellCheck, a static analysis tool that gives warnings and suggestions for bash/sh shell scripts
SQL
sqlcheck 1k 40 - Automatically identify anti-patterns in SQL queries
sqlint 124 11 - Simple SQL linter
Swift
SwiftLint 9k 970 - A tool to enforce Swift style and conventions
Tailor 1k 46 - A static analysis and lint tool for source code written in Apple's Swift programming language.
TypeScript
Codelyzer 2k 166 - A set of tslint rules for static code analysis of Angular 2 TypeScript projects.
TSLint 3k 706 - An extensible linter for the TypeScript language.
tslint-microsoft-contrib 218 100 - A set of tslint rules for static code analysis of TypeScript projects maintained by Microsoft.
Multiple languages
AppChecker ©️ - Static analysis for C/C++/C#, PHP and Java
Application Inspector ©️ - Combined SAST, DAST, IAST security scanner for C#, PHP, Java, SQL languages
APPscreener ©️ - 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
Axivion Bauhaus Suite ©️ - 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
coala - Language independent framework for creating code analysis - supports over 60 languages by default
Cobra ©️ - Structural source code analyzer by NASA's Jet Propulsion Laboratory. Supports C, C++, Ada, and Python.
codeburner 63 16 - Provides a unified interface to sort and act on the issues it finds
CodeFactor ©️ - Static Code Analysis for C#, C, C++, CoffeeScript, CSS, Groovy, GO, JAVA, JavaScript, Less, Python, Ruby, Scala, SCSS, TypeScript.
CodeIt.Right ©️ - CodeIt.Right™ provides a fast, automated way to ensure that your source code adheres to (your) predefined design and style guidelines as well as best coding practices. Supported languages: C#, VB.NET.
cqc 224 8 - Check your code quality for js, jsx, vue, css, less, scss, sass and styl files.
DevSkim - Regex-based static analysis tool for Visual Studio, VS Code, and Sublime Text - C/C++, C#, PHP, ASP, Python, Ruby, Java, and others.
Fortify ©️ 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.
graudit 45 9 - Grep rough audit - source code auditing tool - C/C++, PHP, ASP, C#, Java, Perl, Python, Ruby
Hound CI - Comments on style violations in GitHub pull requests. Supports Coffeescript, Go, HAML, JavaScript, Ruby, SCSS and Swift.
imhotep 207 33 - Comment on commits coming into your repository and check for syntactic errors and general lint warnings.
Infer 8k 1k - A static analyzer for Java, C and Objective-C
Klocwork ©️ - Quality and Security Static analysis for C/C++, Java and C#
oclint 2k 312 - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C
pfff 2k 189 - Facebook's tools for code analysis, visualizations, or style-preserving source transformation for many languages
PMD - A source code analyzer for Java, Javascript, PLSQL, XML, XSL and others
pre-commit 2k 171 - A framework for managing and maintaining multi-language pre-commit hooks.
PVS-Studio ©️ - a (conditionaly free for FOSS) static analysis of C/C++ and C# code. For advertising purposes you can propose a large FOSS project for analysis by PVS employees 14 46 .
Security Code Scan - Security code analyzer for C# and VB.NET. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc.
shipshape 179 28 - Static program analysis platform that allows custom analyzers to plug in through a common interface
SonarQube - SonarQube is an open platform to manage code quality.
STOKE 186 26 - a programming-language agnostic stochastic optimizer for the x86_64 instruction set. It uses random search to explore the extremely high-dimensional space of all possible program transformations
Synopsys ©️ - 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)
Undebt 1k 49 - Language-independent tool for massive, automatic, programmable refactoring based on simple pattern definitions
WALA - static analysis capabilities for Java bytecode and related languages and for JavaScript
XCode ©️ - XCode provides a pretty decent UI for Clang's static code analyzer (C/C++, Obj-C)
Other
Build tools
checkmake 114 1 - Linter / Analyzer for Makefiles
codechecker 410 52 - a defect database and viewer extension for the Clang Static Analyzer
Binaries
BinSkim 249 64 - A binary static analysis tool that provides security and correctness results for Windows portable executables.
Manalyze 218 50 - A static analyzer, which checks portable executables for malicious content.
Containers
clair 3k 366 - Vulnerability Static Analysis for Containers
collector 152 14 - Run arbitrary scripts inside containers, and gather useful information
dagda 207 14 - Perform static analysis of known vulnerabilities in docker images/containers.
Docker Label Inspector - Lint and validate Dockerfile labels
Haskell Dockerfile Linter 612 37 - A smarter Dockerfile linter that helps you build best practice Docker images
Config Files
gixy 5k 203 - a tool to analyze Nginx configuration. The main goal is to prevent misconfiguration and automate flaw detection.
Configuration Management
ansible-lint 959 185 - Checks playbooks for practices and behaviour that could potentially be improved
foodcritic - A lint tool that checks Chef cookbooks for common problems.
Puppet Lint 716 232 - Check that your Puppet manifests conform to the style guide.
CSS
CSS Stats 925 99 - Potentially interesting stats on stylesheets
CSScomb 2k 411 - a coding style formatter for CSS. Supports own configurations to make style sheets beautiful and consistent
CSSLint 4k 546 - Does basic syntax checking and finds problematic patterns or signs of inefficiency
Parker 2k 78 - Stylesheet analysis tool
sass-lint 1k 593 - A Node-only Sass linter for both sass and scss syntax.
scsslint 2k 496 - Linter for SCSS files
Specificity Graph 575 44 - CSS Specificity Graph Generator
Stylelint - Linter for SCSS/CSS files
Gherkin
gherkin-lint 18 16 - A linter for the Gherkin-Syntax written in Javascript.
HTML
HTML Inspector 2k 159 - HTML Inspector is a code quality tool to help you and your team write better markup.
HTML Tidy - Corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards.
HTMLHint 2k 226 - A Static Code Analysis Tool for HTML
IDE Plugins
ale 4k 577 - Asynchronous Lint Engine for Vim and NeoVim with support for many languages
Attackflow Extension ©️ - Attackflow plugin for Visual Studio, which enables developers to find critical security bugs at real time in the source code without any prior knowledge.
DevSkim 94 10 - Inline, realtime security analysis. Works with multiple programming languages and IDEs (VS, VS Code, Sublime Text, ...).
Puma Scan 75 16 - Puma Scan provides real time secure code analysis for common vulnerabilities (XSS, SQLi, CSRF, LDAPi, crypto, deserialization, etc.) as development teams write code in Visual Studio.
Security Code Scan - Security code analyzer for C# and VB.NET that integrates into Visual Studio 2015 and newer. Detects various security vulnerability patterns: SQLi, XSS, CSRF, XXE, Open Redirect, etc.
vint 289 31 - Fast and Highly Extensible Vim script Language Lint implemented by Python.
LaTeX
ChkTeX - A linter for LaTex which catches some typographic errors LaTeX oversees.
lacheck - A tool for finding common mistakes in LaTeX documents.
Makefiles
portlint - A verifier for FreeBSD and DragonFlyBSD port directories
Markdown
mdl 377 51 - A tool to check markdown files and flag style issues.
Mobile
android-lint-summary 192 18 - Combines lint errors of multiple projects into one output, check lint results of multiple sub-projects at once.
FlowDroid 168 145 - static taint analysis tool for Android applications
paprika 32 4 - A toolkit to detect some code smells in analyzed Android applications.
qark 1k 318 - Tool to look for several security related Android application vulnerabilities
Packages
lintian 25 15 - Static analysis tool for Debian packages
rpmlint 23 28 - Tool for checking common errors in rpm packages
Template-Languages
ember-template-lint 111 69 - Linter for Ember or Handlebars templates.
haml-lint 118 58 - Tool for writing clean and consistent HAML
slim-lint 89 34 - Configurable tool for analyzing Slim templates
yamllint 281 39 - Checks YAML files for syntax validity, key repetition and cosmetic problems such as lines length, trailing spaces, and indentation.
Translation
dennis 38 6 - A set of utilities for working with PO files to ease development and improve quality.
Writing
misspell fixer 27 4 - Quick tool for fixing common misspellings, typos in source code
proselint 3k 163 - a linter for English prose with a focus on writing style instead of grammar.
vale 72 11 - A customizable, syntax-aware linter for prose.
Web services
Attackflow ©️ - Application security testing tool with rules grouped into nine classes including Authorization, Injection, Cryptography, Authentication and Code Quality.
Bithound ©️ - Code Analysis beyond Lint, specifically for Node.js.
Codacy ©️ - Code Analysis to ship Better Code, Faster.
Code Climate ©️ - The open and extensible static analysis platform, for everyone.
CodeFactor ©️ - Automated Code Analysis for repos on GitHub or BitBucket.
Functor Prevent ©️ - Static code analysis for C code.
kiuwan ©️ - Software Analytics in the Cloud supporting more than 22 programming languages.
Landscape ©️ - Static code analysis for Python
Nitpick CI ©️ - Automated PHP code review
Node Security Platform ©️ - Continuous Security monitoring for your node apps (free for Open Source Projects)
QuantifiedCode - Automated code review & repair
Scrutinizer ©️ - A proprietery code quality checker that can be integrated with GitHub
SensioLabs Insight ©️ - Detect security risks, find bugs and provide actionable metrics for PHP projects
SideCI ©️ - An automated code reviewing tool. Improving developers' productivity.
Snyk ©️ - Vulnerability scanner for dependencies of node.js apps (free for Open Source Projects)
Teamscale ©️ - 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.
Upsource ©️ - Code review tool with static code analysis and code-aware navigation for Java, PHP, JavaScript and Kotlin.
More collections
go-tools 1k 48 - A collection of tools and libraries for working with Go code, including linters and static analysis
linters 20 2 - An introduction to static code analysis
php-static-analysis-tools 863 87 - A reviewed list of useful PHP static analysis tools
Tools for C/C++ - A list of static analysis tools for C/C++
Wikipedia - A list of tools for static code analysis.
License
To the extent possible under law, Matthias Endler has waived all copyright and related or neighboring rights to this work.
Title image Designed by Freepik .