Este repositório lista ferramentas de análise estática para todas as linguagens de programação, ferramentas de construção, arquivos de configuração e muito mais. O foco está em ferramentas que melhoram a qualidade do código, como linters e formatadores. O site oficial, analyze-tools.dev é baseado neste repositório e adiciona classificações, comentários de usuários e recursos adicionais como vídeos para cada ferramenta.
Este projeto não seria possível sem o generoso apoio dos nossos patrocinadores.
Se você também deseja apoiar este projeto, acesse nossa página de patrocinadores no Github.
Solicitações pull são muito bem-vindas!
Confira também o projeto irmão, incrível análise dinâmica.
abaplint — Linter para ABAP, escrito em TypeScript.
abapOpenChecks — Aprimora o SAP Code Inspector com verificações novas e personalizáveis.
Codepeer ©️ — Detecta erros de tempo de execução e de lógica.
Polyspace para Ada ©️ — Fornece verificação de código que comprova a ausência de overflow, divisão por zero, acesso de array fora dos limites e alguns outros erros de tempo de execução no código-fonte.
SPARK ©️ — Análise estática e conjunto de ferramentas de verificação formal para Ada.
Astrée ©️ — Astrée prova automaticamente a ausência de erros de tempo de execução e comportamento simultâneo inválido em aplicativos C/C++. É adequado para cálculos de ponto flutuante, muito rápido e excepcionalmente preciso. O analisador também verifica as regras de codificação MISRA/CERT/CWE/Adaptive Autosar e oferece suporte à qualificação para ISO 26262, DO-178C nível A e outros padrões de segurança. Plug-ins Jenkins e Eclipse estão disponíveis.
CBMC — Verificador de modelo limitado para programas C, asserções definidas pelo usuário, asserções padrão, diversas análises de métricas de cobertura.
clang-tidy — Ferramenta de linter C++ baseada em Clang com capacidade (limitada) de corrigir problemas também.
clazy — Analisador de código estático orientado a Qt baseado na estrutura Clang. clazy é um plugin de compilador que permite ao clang entender a semântica do Qt. Você recebe mais de 50 avisos do compilador relacionados ao Qt, que vão desde alocações de memória desnecessárias até uso indevido da API, incluindo correções para refatoração automática.
CMetrics — Mede o tamanho e a complexidade de arquivos C.
CPAchecker — Uma ferramenta para verificação de software configurável de programas C. O nome CPAchecker foi escolhido para refletir que a ferramenta é baseada nos conceitos do CPA e é utilizada para verificação de programas de software.
cppcheck — Análise estática de código C/C++.
CppDepend ©️ — Meça, consulte e visualize seu código e evite problemas inesperados, dívida técnica e complexidade.
cpplint — Verificador automatizado de C++ que segue o guia de estilo do Google.
cqmetrics — Métricas de qualidade para código C.
CScout — Métricas de complexidade e qualidade para código de pré-processador C e C.
ENRE-cpp — ENRE (ENTity Relationship Extractor) é uma ferramenta para extração de dependências ou relacionamentos de entidade de código do código-fonte. ENRE-cpp é um extrator de relacionamento ENtity para C/C++ baseado em @eclipse/CDT. (Em desenvolvimento)
ESBMC - ESBMC é um verificador de modelo de código aberto, licenciado permissivamente e limitado pelo contexto, baseado em teorias de módulo de satisfatibilidade para a verificação de programas C/C++ de thread único e multithread.
localizador de falhas
pederneira++
Frama-C — Um analisador estático sólido e extensível para código C.
GCC — O compilador GCC possui recursos de análise estática desde a versão 10. Esta opção só estará disponível se o GCC tiver sido configurado com suporte ao analisador habilitado. Ele também pode gerar seus diagnósticos em um arquivo JSON no formato SARIF (da v13).
Goblint — Um analisador estático para análise de programas C multithread. Seu foco principal é a detecção de corridas de dados, mas também relata outros erros de tempo de execução, como buffer overflows e desreferências de ponteiro nulo.
Helix QAC ©️ — Análise estática de nível empresarial para software embarcado. Suporta padrões de codificação MISRA, CERT e AUTOSAR.
IKOS — Um analisador estático de som para código C/C++ baseado em LLVM.
Joern — Plataforma de análise de código-fonte aberto para C/C++ baseada em gráficos de propriedades de código
KLEE — Um mecanismo de execução simbólica dinâmica construído sobre a infraestrutura do compilador LLVM. Ele pode gerar automaticamente casos de teste para programas de forma que os casos de teste exercitem o máximo possível do programa.
LDRA ©️ — Um conjunto de ferramentas que inclui análise estática (TBVISION) para vários padrões, incluindo MISRA C e C++, JSF++ AV, CWE, CERT C, CERT C++ e regras personalizadas.
AMIGO
PC-lint ©️ — Análise estática para C/C++. Funciona nativamente em Windows/Linux/MacOS. Analisa código para praticamente qualquer plataforma, com suporte para C11/C18 e C++17.
Phasar — Uma estrutura de análise estática baseada em LLVM que vem com análise de contaminação e estado de tipo.
Polyspace Bug Finder ©️ — Identifica erros de tempo de execução, problemas de simultaneidade, vulnerabilidades de segurança e outros defeitos em software embarcado C e C++.
Polyspace Code Prover ©️ — Fornece verificação de código que comprova a ausência de overflow, divisão por zero, acesso de array fora dos limites e alguns outros erros de tempo de execução no código-fonte C e C++.
scan-build — Frontend para conduzir o Clang Static Analyzer integrado ao Clang por meio de uma compilação regular.
splint — Verificador de programa estático assistido por anotações.
SVF — Uma ferramenta estática que permite análise de dependência interprocedural escalonável e precisa para programas C e C++.
TrustInSoft Analyzer ©️ — Detecção exaustiva de erros de codificação e suas vulnerabilidades de segurança associadas. Isso abrange uma detecção sólida de comportamento indefinido (estouro de buffer, acessos de array fora dos limites, desreferências de ponteiro nulo, uso após livre, divisão por zeros, acessos de memória não inicializados, estouros assinados, aritmética de ponteiro inválido, etc.) , verificação de fluxo de dados e fluxo de controle, bem como verificação funcional completa de especificações formais. Todas as versões de C até C18 e C++ até C++20 são suportadas. O TrustInSoft Analyzer adquirirá a qualificação ISO 26262 no segundo trimestre de 2023 (TCL3). Um verificador MISRA C também está incluído.
Vera++
.NET Analyzers — Uma organização para o desenvolvimento de analisadores (diagnósticos e correções de código) usando a plataforma .NET Compiler.
ArchUnitNET — Biblioteca de teste de arquitetura AC# para especificar e afirmar regras de arquitetura em C# para testes automatizados.
code-cracker — Uma biblioteca analisadora para C# e VB que usa Roslyn para produzir refatorações, análise de código e outras sutilezas.
CSharpEssentials
Designite ©️ — Designite oferece suporte à detecção de vários cheiros de arquitetura, design e implementação, cálculo de várias métricas de qualidade de código e análise de tendências.
Gendarme — Gendarme inspeciona programas e bibliotecas que contêm código no formato ECMA CIL (Mono e .NET).
Inferir#
Meziantou.Analyzer — Um analisador Roslyn para aplicar algumas boas práticas em C# em termos de design, uso, segurança, desempenho e estilo.
NDepend ©️ — Meça, consulte e visualize seu código e evite problemas inesperados, dívida técnica e complexidade.
Puma Scan — O Puma Scan fornece análise de código segura em tempo real para vulnerabilidades comuns (XSS, SQLi, CSRF, LDAPi, criptografia, desserialização, etc.) à medida que as equipes de desenvolvimento escrevem código no Visual Studio.
Roslynator — Uma coleção de mais de 190 analisadores e mais de 190 refatorações para C#, desenvolvida por Roslyn.
SonarAnalyzer.CSharp — Esses analisadores Roslyn permitem que você produza código limpo que seja seguro, confiável e de fácil manutenção, ajudando a encontrar e corrigir bugs, vulnerabilidades e cheiros de código em sua base de código.
Diagnóstico VSD
Wintellect.Analyzers — Analisadores de diagnóstico e correções de código da .NET Compiler Platform ("Roslyn").
Astrée ©️ — Astrée prova automaticamente a ausência de erros de tempo de execução e comportamento simultâneo inválido em aplicativos C/C++. É adequado para cálculos de ponto flutuante, muito rápido e excepcionalmente preciso. O analisador também verifica as regras de codificação MISRA/CERT/CWE/Adaptive Autosar e oferece suporte à qualificação para ISO 26262, DO-178C nível A e outros padrões de segurança. Plug-ins Jenkins e Eclipse estão disponíveis.
CBMC — Verificador de modelo limitado para programas C, asserções definidas pelo usuário, asserções padrão, diversas análises de métricas de cobertura.
clang-tidy — Ferramenta de linter C++ baseada em Clang com capacidade (limitada) de corrigir problemas também.
clazy — Analisador de código estático orientado a Qt baseado na estrutura Clang. clazy é um plugin de compilador que permite ao clang entender a semântica do Qt. Você recebe mais de 50 avisos do compilador relacionados ao Qt, que vão desde alocações de memória desnecessárias até uso indevido da API, incluindo correções para refatoração automática.
CMetrics — Mede o tamanho e a complexidade de arquivos C.
cppcheck — Análise estática de código C/C++.
CppDepend ©️ — Meça, consulte e visualize seu código e evite problemas inesperados, dívida técnica e complexidade.
cpplint — Verificador automatizado de C++ que segue o guia de estilo do Google.
cqmetrics — Métricas de qualidade para código C.
CScout — Métricas de complexidade e qualidade para código de pré-processador C e C.
ENRE-cpp — ENRE (ENTity Relationship Extractor) é uma ferramenta para extração de dependências ou relacionamentos de entidade de código do código-fonte. ENRE-cpp é um extrator de relacionamento ENtity para C/C++ baseado em @eclipse/CDT. (Em desenvolvimento)
ESBMC - ESBMC é um verificador de modelo de código aberto, licenciado permissivamente e limitado pelo contexto, baseado em teorias de módulo de satisfatibilidade para a verificação de programas C/C++ de thread único e multithread.
localizador de falhas
pederneira++
Frama-C — Um analisador estático sólido e extensível para código C.
Helix QAC ©️ — Análise estática de nível empresarial para software embarcado. Suporta padrões de codificação MISRA, CERT e AUTOSAR.
IKOS — Um analisador estático de som para código C/C++ baseado em LLVM.
Joern — Plataforma de análise de código-fonte aberto para C/C++ baseada em gráficos de propriedades de código
KLEE — Um mecanismo de execução simbólica dinâmica construído sobre a infraestrutura do compilador LLVM. Ele pode gerar automaticamente casos de teste para programas de forma que os casos de teste exercitem o máximo possível do programa.
LDRA ©️ — Um conjunto de ferramentas que inclui análise estática (TBVISION) para vários padrões, incluindo MISRA C e C++, JSF++ AV, CWE, CERT C, CERT C++ e regras personalizadas.
AMIGO
PC-lint ©️ — Análise estática para C/C++. Funciona nativamente em Windows/Linux/MacOS. Analisa código para praticamente qualquer plataforma, com suporte para C11/C18 e C++17.
Phasar — Uma estrutura de análise estática baseada em LLVM que vem com análise de contaminação e estado de tipo.
Polyspace Bug Finder ©️ — Identifica erros de tempo de execução, problemas de simultaneidade, vulnerabilidades de segurança e outros defeitos em software embarcado C e C++.
Polyspace Code Prover ©️ — Fornece verificação de código que comprova a ausência de overflow, divisão por zero, acesso de array fora dos limites e alguns outros erros de tempo de execução no código-fonte C e C++.
scan-build — Frontend para conduzir o Clang Static Analyzer integrado ao Clang por meio de uma compilação regular.
splint — Verificador de programa estático assistido por anotações.
SVF — Uma ferramenta estática que permite análise de dependência interprocedural escalonável e precisa para programas C e C++.
TrustInSoft Analyzer ©️ — Detecção exaustiva de erros de codificação e suas vulnerabilidades de segurança associadas. Isso abrange uma detecção sólida de comportamento indefinido (estouro de buffer, acessos de array fora dos limites, desreferências de ponteiro nulo, uso após livre, divisão por zeros, acessos de memória não inicializados, estouros assinados, aritmética de ponteiro inválido, etc.) , verificação de fluxo de dados e fluxo de controle, bem como verificação funcional completa de especificações formais. Todas as versões de C até C18 e C++ até C++20 são suportadas. O TrustInSoft Analyzer adquirirá a qualificação ISO 26262 no segundo trimestre de 2023 (TCL3). Um verificador MISRA C também está incluído.
Vera++
ameba — Uma ferramenta de análise estática de código para Crystal.
cristal — O compilador Crystal possui funcionalidade linting integrada.
Métricas do código Dart
eficaz_dart — Regras do Linter correspondentes às diretrizes do Effective Dart
fiapos
Linter para dardo — Estilo linter para Dart.
DelphiLint — Um pacote Delphi IDE que fornece análise de código e linting em tempo real, desenvolvido pela SonarDelphi.
Fix Insight ©️ — Um plugin IDE gratuito para análise de código estático. A edição Pro inclui uma ferramenta de linha de comando para fins de automação.
Pascal Analyzer ©️ — Uma ferramenta de análise estática de código com vários relatórios. Uma versão Lite gratuita está disponível com relatórios limitados.
Pascal Expert ©️ — Plugin IDE para análise de código. Inclui um subconjunto de recursos de relatórios do Pascal Analyzer e está disponível para versões Delphi 2007 e posteriores.
SonarDelphi — Analisador estático Delphi para a plataforma de qualidade de código SonarQube.
credo — Uma ferramenta de análise estática de código com foco na consistência e no ensino do código.
dialyxir — Combine tarefas para simplificar o uso do Dialyzer em projetos Elixir.
sobelow — Análise estática focada em segurança para o Phoenix Framework.
análise de olmo
elm-review — Analisa projetos inteiros do Elm, com foco em regras compartilháveis e personalizadas escritas em Elm que adicionam garantias que o compilador Elm não oferece.
dialyzer — O DIALYZER, um Analisador de discrepâncias para programas ERlang. Dialyzer é uma ferramenta de análise estática que identifica discrepâncias de software, como erros de tipo definido, código que se tornou inoperante ou inacessível devido a erro de programação e testes desnecessários, em módulos Erlang únicos ou (conjuntos de) aplicativos inteiros. O Dialyzer inicia sua análise a partir do bytecode BEAM compilado para depuração ou do código-fonte Erlang. O arquivo e o número da linha de uma discrepância são relatados juntamente com uma indicação do motivo da discrepância. O Dialyzer baseia sua análise no conceito de digitação de sucesso, que permite avisos sonoros (sem falsos positivos).
elvis — Revisor de estilo Erlang.
Primitive Erlang Security Tool (PEST) — Uma ferramenta para fazer uma varredura básica do código-fonte Erlang e relatar quaisquer chamadas de função que possam tornar o código-fonte Erlang inseguro.
fantomas — Formatador de código-fonte F#.
FSharpLint — ferramenta Lint para F#.
analisadores de ioneto — Uma coleção de analisadores F#, criados com o FSharp.Analyzers.SDK.
fprettify — Formatador automático para código-fonte fortran moderno, escrito em Python. Fprettify é uma ferramenta que fornece espaços em branco, recuo e alinhamento de delimitadores consistentes no código, incluindo a capacidade de alterar maiúsculas e minúsculas e lidar com diretivas de pré-processador, tudo isso preservando o histórico de revisões e testado para integração do editor.
i-Code CNES for Fortran — Uma ferramenta de análise de código estático de código aberto para Fortran 77, Fortran 90 e Shell.
aligncheck — Encontre estruturas compactadas de forma ineficiente.
bodyclose — Verifica se o corpo da resposta HTTP está fechado.
deadcode — Encontra código não utilizado.
caçador de dingo
trenó puxado por cães — Encontra atribuições/declarações com muitos identificadores em branco.
duplicado
errcheck — Verifique se os valores de retorno de erro são usados.
errwrap — Quebra e corrige erros do Go com a nova diretiva de verbo %w. Esta ferramenta analisa chamadas fmt.Errorf() e relata chamadas que contêm uma diretiva de verbo diferente da nova diretiva de verbo %w introduzida no Go v1.13. Também é capaz de reescrever chamadas para usar a nova diretiva %w wrap verb.
flen — Obtenha informações sobre a duração das funções em um pacote Go.
Vá para MetaLintergolangci-lint
para novos projetos.
go tool vet --shadow — Relata variáveis que podem ter sido ocultadas involuntariamente.
go vet – Examina o código-fonte do Go e relata suspeitas.
go-consistent — Analisador que ajuda você a tornar seus programas Go mais consistentes.
go-critic — Linter de código-fonte Go que mantém verificações que atualmente não estão implementadas em outros linters.
go/ast — Pacote ast declara os tipos usados para representar árvores de sintaxe para pacotes Go.
cabra
gochecknoglobals
goconst — Encontra strings repetidas que podem ser substituídas por uma constante.
gociclo
gofmt -s — Verifica se o código está formatado corretamente e não pode ser mais simplificado.
gofumpt — Impõe um formato mais rigoroso do que gofmt
, embora seja compatível com versões anteriores. Ou seja, gofumpt
está satisfeito com um subconjunto de formatos com os quais gofmt
está satisfeito. A ferramenta é um fork do gofmt
a partir do Go 1.19 e requer o Go 1.18 ou posterior. Ele pode ser usado como um substituto imediato para formatar seu código Go, e executar gofmt após gofumpt não deve produzir alterações. gofumpt
nunca adicionará regras que discordem da formatação gofmt
. Portanto, ampliamos gofmt
em vez de competir com ele.
goimports — Verifica importações de pacotes ausentes ou não referenciadas.
gokart — Análise de segurança Golang com foco na minimização de falsos positivos. É capaz de rastrear a origem de variáveis e argumentos de função para determinar se as fontes de entrada são seguras.
GolangCI-Lint – Alternativa ao Go Meta Linter
: GolangCI-Lint é um agregador de linters.
golint — Imprime erros de estilo de codificação no código-fonte Go.
goreporter — Executa simultaneamente muitos linters e normaliza sua saída em um relatório.
goroutine-inspect — Uma ferramenta interativa para analisar o dump Golang goroutine.
gosec (gas) — Inspeciona o código-fonte em busca de problemas de segurança, verificando o Go AST.
gotype — Análise sintática e semântica semelhante ao compilador Go.
govulncheck — Govulncheck relata vulnerabilidades conhecidas que afetam o código Go. Ele usa análise estática do código-fonte ou uma tabela de símbolos binários para restringir os relatórios apenas àqueles que podem afetar o aplicativo. Por padrão, govulncheck faz solicitações ao banco de dados de vulnerabilidades Go em https://vuln.go.dev. As solicitações ao banco de dados de vulnerabilidade contêm apenas caminhos de módulo, não código ou outras propriedades do seu programa.
ineffassign — Detecta atribuições ineficazes no código Go.
interface
tudo
caluniado
erro ortográfico — Encontra palavras em inglês com erros ortográficos comuns.
nakedret — Encontra retornos nus.
nargs — Encontra argumentos não utilizados em declarações de funções.
prealloc — Encontra declarações de fatia que poderiam ser pré-alocadas.
Reviewdog — Uma ferramenta para postar comentários de revisão de qualquer linter em qualquer serviço de hospedagem de código.
reviver — Linter rápido, configurável, extensível, flexível e bonito para Go. Substituição imediata do golint.
SQLSeguro
shisho
staticcheck — Análise estática especializada em encontrar bugs, simplificar código e melhorar o desempenho.
structcheck — Encontre campos struct não utilizados.
structslop — Analisador estático para Go que recomenda reorganizações de campo struct para fornecer eficiência máxima de espaço/alocação
test — Mostra a localização das falhas de teste do módulo de teste stdlib.
desconverter
unparam — Encontre parâmetros de função não utilizados.
varcheck — Encontre variáveis e constantes globais não utilizadas.
wsl — Impõe linhas vazias nos lugares certos.
Bretanha
HLint — HLint é uma ferramenta para sugerir possíveis melhorias no código Haskell.
Liquid Haskell — Liquid Haskell é um verificador de tipo de refinamento para programas Haskell.
Stan — Stan é uma ferramenta de linha de comando para analisar projetos Haskell e gerar vulnerabilidades descobertas de maneira útil com possíveis soluções para problemas detectados.
Weeder — Uma ferramenta para detectar exportações mortas ou importações de pacotes em código Haskell.
Checker Framework — verificação de tipo conectável para Java. Este não é apenas um localizador de bugs, mas uma ferramenta de verificação que dá garantia de correção. Ele vem com 27 sistemas de tipos pré-construídos e permite que os usuários definam seu próprio sistema de tipos; o manual lista mais de 30 sistemas de tipos contribuídos por usuários.
checkstyle — Verificando o código-fonte Java quanto à adesão a um padrão de código ou conjunto de regras de validação (melhores práticas).
ck — Calcula métricas orientadas a objetos Chidamber e Kemerer processando os arquivos Java de origem.
ckjm — Calcula métricas orientadas a objetos Chidamber e Kemerer processando o bytecode de arquivos Java compilados.
CogniCrypt — Verifica o código-fonte Java e o código de bytes em busca de usos incorretos de APIs criptográficas.
Dataflow Framework — Uma estrutura de fluxo de dados de força industrial para Java. O Dataflow Framework é usado no Checker Framework, no Error Prone do Google, no NullAway do Uber, no Nullsafe do Meta e em outros contextos. É distribuído com o Checker Framework.
DesigniteJava ©️ — DesigniteJava suporta a detecção de vários cheiros de arquitetura, design e implementação, juntamente com o cálculo de várias métricas de qualidade de código.
Diffblue ©️ — Diffblue é uma empresa de software que fornece soluções de teste e análise de código baseadas em IA para equipes de desenvolvimento de software. Sua tecnologia ajuda os desenvolvedores a automatizar testes, encontrar bugs e reduzir o trabalho manual em seus processos de desenvolvimento de software. O principal produto da empresa, Diffblue Cover, usa IA para gerar e executar testes unitários para código Java, ajudando a detectar erros e melhorar a qualidade do código.
Doop — Doop é um framework declarativo para análise estática de programas Java/Android, centrado em algoritmos de análise de ponteiros. Doop fornece uma grande variedade de análises e também a estrutura circundante para executar uma análise de ponta a ponta (geração de fatos, processamento, estatísticas, etc.).
ENRE-java — ENRE (ENTity Relationship Extractor) é uma ferramenta para extração de dependências ou relacionamentos de entidade de código do código-fonte. ENRE-java é um extrator de relacionamento ENtity para projetos Java baseado em @Eclipse JDT/parser.
Propenso a erros – detecte erros comuns de Java como erros em tempo de compilação.
fb-contrib — Um plugin para FindBugs com detectores de bugs adicionais.
proibido-apis — Detecta e proíbe invocações de métodos/classes/campos específicos (como a leitura de um fluxo de texto sem um conjunto de caracteres). Compatível com Maven/Gradle/Ant.
google-java-format — Reformata o código-fonte Java para ficar em conformidade com o Google Java Style
HuntBugs
IntelliJ IDEA ©️ — Vem com muitas inspeções para Java e Kotlin e inclui ferramentas para refatoração, formatação e muito mais.
JArchitect ©️ — Meça, consulte e visualize seu código e evite problemas inesperados, dívida técnica e complexidade.
JBMC — Verificador de modelo limitado para Java (bytecode), verifica asserções definidas pelo usuário, asserções padrão, diversas análises de métricas de cobertura.
Mariana Trench — Nossa ferramenta de análise estática focada em segurança para aplicativos Android e Java. Mariana Trench analisa bytecode Dalvik e é construída para rodar rapidamente em grandes bases de código (dezenas de milhões de linhas de código). Ele pode encontrar vulnerabilidades à medida que o código muda, antes mesmo de chegar ao seu repositório.
NullAway — Verificador de ponteiro nulo baseado em tipo com baixa sobrecarga de tempo de construção; um plugin propenso a erros.
Verificação de dependência OWASP — Verifica as dependências em busca de vulnerabilidades conhecidas e divulgadas publicamente.
qulice — Combina algumas ferramentas de análise estática (pré-configuradas) (checkstyle, PMD, Findbugs, ...).
RefactorFirst — Identifica e prioriza classes God e classes altamente acopladas em bases de código Java que você deve refatorar primeiro.
Fuligem — Uma estrutura para analisar e transformar aplicativos Java e Android.
Spoon — Spoon é uma biblioteca de metaprogramação para analisar e transformar código-fonte Java (incl Java 9, 10, 11, 12, 13, 14). Ele analisa arquivos de origem para construir um AST bem projetado com análise poderosa e API de transformação. Pode ser integrado em Maven e Gradle.
SpotBugs — SpotBugs é o sucessor do FindBugs. Uma ferramenta de análise estática para procurar bugs no código Java.
estável — Analisa seus aplicativos Java em busca de dependências de código aberto com vulnerabilidades conhecidas, usando análise estática e testes para determinar o contexto e o uso do código para maior precisão.
Violations Lib — Biblioteca Java para análise de arquivos de relatório a partir de análise de código estático. Usado por vários plug-ins Jenkins, Maven e Gradle.
éter
Closure Compiler — Uma ferramenta de compilação para aumentar a eficiência, reduzir o tamanho e fornecer avisos de código em arquivos JavaScript.
FechamentoLinter
relatório de complexidade
DeepScan ©️ — Um analisador para JavaScript que visa erros de tempo de execução e problemas de qualidade, em vez de convenções de codificação.
es6-platão
escomplexo
Espríma
flow — Um verificador de tipo estático para JavaScript.
hegel — Um verificador de tipo estático para JavaScript com uma tendência à inferência de tipos e sistemas de tipos fortes.
jshint — Detecte erros e possíveis problemas no código JavaScript e aplique as convenções de codificação da sua equipe.
JSLint — A ferramenta de qualidade de código JavaScript.
JSPrime
NodeJSScan — Um scanner de código de segurança estático para aplicativos Node.js desenvolvido com libsast e semgrep que se baseia na ferramenta njsscan cli. Possui uma UI com vários painéis sobre o status de segurança de um aplicativo.
Platão
Analisador de polímero — Uma estrutura de análise estática para componentes da Web.
retire.js — Scanner que detecta o uso de bibliotecas JavaScript com vulnerabilidades conhecidas.
RSLint
standard — Um módulo npm que verifica problemas do Javascript Styleguide.
tern — Um analisador de código JavaScript para suporte profundo a linguagens entre editores.
TipoL
xo — Wrapper ESLint opinativo, mas configurável, com muitas vantagens incluídas. Aplica código estrito e legível.
critério
JET — Sistema de inferência de tipo estático para detectar bugs e instabilidades de tipo.
StaticLint — Análise de código estático para Julia
detekt — Análise estática de código para código Kotlin.
diktat — Padrão de codificação estrito para Kotlin e um linter que detecta e corrige automaticamente cheiros de código.
ktfmt — Um programa que reformata o código-fonte Kotlin para cumprir o padrão comum da comunidade para convenções de código Kotlin. Um plugin ktfmt IntelliJ está disponível no repositório de plugins. Para instalá-lo, acesse as configurações do seu IDE e selecione a categoria Plugins. Clique na guia Marketplace, procure o plugin ktfmt e clique no botão Instalar.
ktlint — Um linter Kotlin anti-queda de bicicletas com formatador integrado.
luacheck — Uma ferramenta para linting e análise estática de código Lua.
lualint — lualint executa análise estática baseada em luac do uso de variáveis globais no código-fonte Lua.
Luanálise
DrNim — DrNim combina o frontend Nim com o mecanismo de prova Z3 para permitir verificar/validar software escrito em Nim.
nimfmt — Formatador de código Nim/linter/verificador de estilo
Sys — Uma ferramenta estática/simbólica para encontrar bugs no código (do navegador). Ele usa o LLVM AST para encontrar bugs como acesso à memória não inicializada.
Verifast-Uma ferramenta para verificação formal modular das propriedades de correção de programas C e Java de thread único e multithread anotados com pré-condições e pós-condicionas escritas na lógica de separação. Para expressar especificações ricas, o programador pode definir tipos de dados indutivos, funções puras recursivas primitivas sobre esses dados de dados e predicados lógicos de separação abstratos.
CakeFuzzer-Ferramenta de teste de segurança de aplicativos da Web para aplicativos da Web baseados em CakePHP. O CakeFuzzer emprega um conjunto predefinido de ataques que são modificados aleatoriamente antes da execução. Aproveitando sua profunda compreensão da estrutura PHP do bolo, o bolinho de bolo lança ataques a todos os possíveis pontos de entrada do aplicativo.
Churn-php-ajuda a descobrir bons candidatos à refatoração.
Analisador de dependência do compositor-Detecção rápida de problemas de dependência do compositor.
Defundir - Ferramenta de análise de dependência.
Deprecação-Detector-encontra os usos do código depreciado (Symfony).
Detrac - Aplique regras para dependências entre camadas de software.
DesignPatterNDETECTOR - Detecção de padrões de design no código PHP.
EasyCodingStandard-Combine php_codesniffer e php-cs-fixer.
Iluminn - Uma ferramenta de análise estática e dinâmica para aplicativos Laravel que fornece recomendações para melhorar o desempenho, a segurança e a confiabilidade do código dos aplicativos Laravel. Contém 120 cheques automatizados.
EXAKAT - Um mecanismo de revisão de código automatizado para PHP.
GRUMPHP - verifica o código em cada compromisso.
LARASTAN - adiciona análise estática à Laravel, melhorando a produtividade do desenvolvedor e a qualidade do código. É um invólucro em torno do Phpstan.
Mondrian
NITPICK CI © 000 - Revisão automatizada do código PHP.
Parallel-Lint-Esta ferramenta verifica a sintaxe dos arquivos PHP mais rápido que a verificação em série com uma saída mais sofisticada.
Parse - um scanner de segurança estática.
PDepend - calcula métricas de software como a complexidade ciclomática para o código PHP.
PHAN - Um analisador estático moderno da Etsy.
Testador de arquitetura PHP - Fácil de usar a ferramenta de teste de arquitetura para PHP.
Pressupostos PHP - Verifica suposições fracas.
Fixador de padrões de codificação PHP-Fixador seu código de acordo com padrões como PSR-1, PSR-2 e Symfony Standard.
PHP Insights - Verificações instantâneas da qualidade do PHP do seu console. Análise da qualidade do código e estilo de codificação, bem como uma visão geral da arquitetura de código e sua complexidade.
Inspeções de PHP (EA estendida) - Um analisador de código estático para PHP.
Navegador de refatoramento do PHP - Refatoração do ajudante.
Verificador de versão semântica do PHP
PHP-PARSER-Um analisador PHP escrito em PHP.
PHP-S-SPELLER-Biblioteca de verificação ortográfica do PHP.
Reflexão Php-Token
Php7cc
php7mar
Php_codesniffer - detecta violações de um conjunto definido de padrões de codificação.
PHPARKITECT - O PHPARKITECT ajuda você a manter sua base de código PHP coerente e sólida, permitindo adicionar alguma verificação de restrição arquitetônica ao seu fluxo de trabalho. Você pode expressar a restrição que deseja aplicar, em código PHP simples e legível.
PHPCA
phpcpd
phpdcd
PhpDependencyAnálise
PHPDEPRECATIONDETECTOR - Analisador de código PHP para pesquisar problemas com funcionalidade depreciada em versões mais recentes. Ele encontra objetos removidos (funções, variáveis, constantes e diretivas ini-diretivas), funcionalidade de funções depreciada e uso de nomes ou truques proibidos (por exemplo, identificadores reservados em versões mais recentes).
phpdoc-to-typehint
PHPDocumentor - analisa o código -fonte do PHP para gerar documentação.
PHPLOC - Uma ferramenta para medir rapidamente o tamanho e analisar a estrutura de um projeto PHP.
PHPMD - encontra possíveis bugs em seu código.
PhpMetrics - calcula e visualiza várias métricas de qualidade de código.
PHPMND - Ajuda a detectar números mágicos.
Phpqa
PHPQA - JAKZAL - Muitas ferramentas para análise estática do PHP em um contêiner.
PHPQA-Jmolivas-Ferramenta CLI do analisador all-in-One PHPQA.
phpsa
Phpstan - Ferramenta de análise estática do PHP - Descubra bugs em seu código sem executá -lo!
Progpilot - Uma ferramenta de análise estática para fins de segurança.
Salmo - Ferramenta de análise estática para encontrar erros de tipo em aplicativos PHP.
Analisador de qualidade do Qafoo
Reitor - Atualizações instantâneas e refatoração automatizada de qualquer código PHP 5.3+. Atualiza seu código para Php 7.4, 8.0 e além. O reitor promete uma baixa taxa falsa positiva porque procura por padrões de AST (abstrato de sintaxe abstrato). O principal caso de uso é enfrentar a dívida técnica em seu código legado e remover o código morto. O Rector fornece um conjunto de regras especiais para Symfony, Doutrina, Phpunit e muito mais.
Reflexão - Biblioteca de reflexão para fazer análise estática para projetos de PHP
Symfony Insight © ️ - Detecte riscos de segurança, encontre bugs e forneça métricas acionáveis para projetos de PHP.
Tuli - um mecanismo de análise estática.
Twig-Lint-Twig-Lint é uma ferramenta de fiapos para seus arquivos de galho.
WAP - Ferramenta para detectar e corrigir vulnerabilidades de validação de entrada em aplicativos da Web PHP (4.0 ou superior) e prevê falsos positivos combinando análise estática e mineração de dados.
Perl :: Analyzer-Perl-analisador é um conjunto de programas e módulos que permitem aos usuários analisar e visualizar bases de código Perl, fornecendo informações sobre namespaces e suas relações, dependências, herança e métodos implementados, herdados e redefinidos em pacotes, bem como como chamadas para métodos de pacotes parentais via super.
Perl :: Crítico-Crítica do Código Fonte Perl para Best-Practices.
Perltidy - Perltidy é um script perl que recua e reforma os scripts Perl para facilitar a leitura. A formatação pode ser controlada com os parâmetros da linha de comando. As configurações de parâmetros padrão seguem aproximadamente as sugestões no Guia do estilo Perl. Além de reformatando scripts, a Perltidy pode ser uma grande ajuda para rastrear erros com aparelhos, parênteses e parênteses ausentes, porque é muito bom em localizar erros.
Zarn - Uma ferramenta de análise de segurança estática leve para aplicativos Perl modernos
Autoflake - O Autoflake remove as importações não utilizadas e as variáveis não utilizadas do código Python.
AutoPep8 - Uma ferramenta que forma automaticamente o código Python para estar em conformidade com o Guia do estilo Pep 8. Ele usa o utilitário pycodestyle para determinar quais partes do código precisam ser formatadas.
BANDIT - Uma ferramenta para encontrar problemas de segurança comuns no código Python.
Bellybutton-Um mecanismo de linha que suporta regras personalizadas específicas do projeto.
Black - o formatador de código Python intransigente.
BOWLER - Código seguro Refatoração para Python moderno. O jogador é uma ferramenta de refatoração para manipular o python no nível da árvore de sintaxe. Permite modificações seguras de código em larga escala, garantindo que o código resultante compila e seja executado. Ele fornece uma interface simples da linha de comando e uma API fluente no Python para gerar modificações complexas de código no código.
Ciocheckpep8
, pydocstyle
, flake8
e pylint
.
coesão
Deal - Design por contrato para Python. Escreva código sem insetos. Ao adicionar alguns decoradores ao seu código, você obtém testes gratuitos, análise estática, verificação formal e muito mais.
DLINT - Uma ferramenta para garantir que o código Python seja seguro.
Dodgy - Dodgy é uma ferramenta muito básica para ser executada contra sua base de código para pesquisar valores de aparência "desonesta". É uma série de expressões regulares simples projetadas para detectar coisas como verificações de diff scm acidentais ou senhas ou chaves secretas codificadas em arquivos.
Enre-py
Fixit-Uma estrutura para criar regras de fiapos e fixos automáticos correspondentes para o código-fonte.
FLAKE8 - Um invólucro em torno de pyflakes
, pycodestyle
e mccabe
.
Flakeheaven - Flakeheaven é um linhador de Python construído em torno de Flake8 para permitir a configuração herdável e complexa do TOML.
Griffe - Assinaturas para programas Python inteiros. Extraia a estrutura, o quadro, o esqueleto do seu projeto, para gerar documentação da API ou encontrar alterações de quebra na sua API.
Inspetortiger
Jedi - Biblioteca de Análise de AutoCimpletion/estática para Python.
Linty Fresh - analisar erros de fiapos e denunciá -los ao GitHub como comentários sobre uma solicitação de tração.
McCabe - Verifique a complexidade McCabe.
Multilintflake8
, isort
e modernize
.
MyPy - um verificador do tipo estático que visa combinar os benefícios da digitação de patos e da digitação estática, freqüentemente usada com o MonkeyType.
Prospector - Um invólucro em torno de pylint
, pep8
, mccabe
e outros.
Injeção de PY
Pyanalyze - Uma ferramenta para detectar programaticamente erros comuns no código Python, como referências a variáveis indefinidas e erros de tipo. Ele pode ser estendido para adicionar regras adicionais e executar verificações específicas para funções específicas.
PycodeQual © ️ - Pycodequal fornece informações sobre a complexidade e os riscos de bugs. Ele adiciona revisões automáticas às suas solicitações de tração.
Pycodestyle - (anteriormente pep8
) Verifique o código do Python contra algumas das convenções de estilo no PEP 8.
Pydocstyle
Pyflakes - Verifique os arquivos de origem do Python para obter erros.
Pylint - procura erros de programação, ajuda a aplicar um padrão de codificação e fareja para alguns cheiros de código. Além disso, inclui pyreverse
(um gerador de diagrama UML) e symilar
(um verificador de semelhanças).
PYLYZERS - Um analisador de código estático / servidor de idiomas para Python, escrito em ferrugem, focado na verificação do tipo e saída legível.
Pyre-check-Um verificador de tipo rápido e escalável para bases de código Python.
Pyright - Verificador de tipo estático para Python, criado para abordar lacunas em ferramentas existentes como o MyPy.
Piroma
PYSA-Uma ferramenta baseada na verificação de piré do Facebook para identificar possíveis problemas de segurança no código Python identificado com a análise de manchas.
Pyt - Python Taint
Pytype - um analisador de tipo estático para código Python.
PYUPGRADE-Uma ferramenta (e gancho de pré-compromisso) para atualizar automaticamente a sintaxe para versões mais recentes do idioma.
QuantifiedCode
RADON - Uma ferramenta Python que calcula várias métricas do código -fonte.
REFURM - Uma ferramenta para reformar e modernizar bases de código Python. A reforma é fortemente inspirada por Clippy, o linhador embutido para a ferrugem.
Ruff - Linter Fast Python, escrito em ferrugem. 10-100X mais rápido que os linheiros existentes. Compatível com Python 3.10. Suporta observador de arquivos.
UNIMPORT - Um linhador, formatador para encontrar e remover declarações de importação não utilizadas.
Vulture - Encontre aulas, funções e variáveis não utilizadas no código Python.
Guia de estilo Wemake-Python-o linhador Python mais rigoroso e opinativo de todos os tempos.
astuto