Ferramentas de análise estática para PHP
Uma lista selecionada de ferramentas de análise estática para PHP.
Contribuindo
Consulte CONTRIBUINDO.
Índice
- Localizadores de bugs
- Padrões de codificação
- faça você mesmo
- Fixadores
- Métricas
- SaaS
- Diversos
Localizadores de bugs
Ferramentas para relatar problemas no código que são ou levam a bugs.
- AppChecker - ferramenta de análise estática para encontrar bugs, pontos fracos e vulnerabilidades no código-fonte
- Insight de código - Uma ferramenta para analisar outras bases de código de projeto.
- AST Metrics - Um analisador de código estático extremamente rápido que ajuda você a identificar o código que precisa ser refatorado.
- Churn-PHP – Descubra arquivos que precisam de refatoração.
- compositor-dependency-analyser - Detecção rápida de problemas de dependência do compositor (dependências não utilizadas, dependências sombra, dependências mal colocadas)
- Composer-Unused - Uma ferramenta do Composer para mostrar dependências não utilizadas do Composer, verificando seu código.
- Eir – Uma ferramenta de análise de vulnerabilidade estática escrita em C#.
- Exakat - Análise estática inteligente.
- jscpd - Detector de copiar/colar para programação do código-fonte.
- Mondrian - Uma ferramenta de análise de código usando Teoria de Grafos.
- name-collision-detector - Detecta duplicatas de símbolos (colisões de nomes de classes).
- noverify - Linter bastante rápido (utilitário de análise estática de código) para PHP.
- Pfff - Ferramentas para análise de código, visualizações ou transformação de origem com preservação de estilo.
- Phanalist - Um analisador estático para PHP. Ajuda você a detectar erros comuns em seu código PHP.
- Análise PHP - Uma biblioteca para analisar e modificar código-fonte PHP em Rascal (PHP AiR).
- PHParch - PHPArch é uma biblioteca de testes arquitetônicos em andamento para projetos PHP.
- Suposição PHP - Encontra suposições fracas no código, sugere transformá-las em validações mais fortes.
- PhpCodeAnalyzer – Encontra o uso de extensões não integradas.
- PHPCodeFixer - Encontra o uso de funções, variáveis e diretivas ini obsoletas.
- php-compat-info - Descubra a versão mínima e as extensões necessárias para a execução de um trecho de código.
- php7mar - Relatório do assistente de migração do PHP 7.
- phpcallgraph - Gere gráficos de chamadas estáticas. Esse gráfico visualiza as dependências de chamadas entre métodos ou funções de um aplicativo.
- PHPCPD - identifica código copiado/colado e ajuda a aplicar a regra DRY.
- PHPDoctor - Verifique arquivos ou diretórios PHP em busca de tipos ausentes.
- Phan - O analisador estático de Rasmus, PHP Creator.
- Phinder - localizador de trechos de código PHP
- Phortress – Um analisador de código estático PHP para possíveis vulnerabilidades.
- Compatibilidade com PHP - Encontre código incompatível com um intervalo especificado de versões de PHP.
- PHP Deprecation Detector - PhpDeprecationDetector - analisador de código PHP para pesquisar usos de funcionalidades obsoletas em versões mais recentes de intérpretes.
- Análise estática de código PHP - Programa de análise estática de código PHP feito em nodeJS.
- PHP Inspection - Plugin de análise estática para PHPStorm.
- PHP Integrator - Indexa código PHP e realiza análises estáticas para o editor Atom.
- Phlint - Phlint é uma ferramenta com o objetivo de ajudar a manter a qualidade do código php, analisando o código e apontando possíveis problemas de código.
- PHP lint - o próprio PHP, capaz de detectar erros de sintaxe na linha de comando.
- PHPlint – Um validador e documentador para programas PHP 5.
- PHP-Parallel-Lint - Uma ferramenta paralela de php linting para PHP 5.4 ou mais recente
- Detector de números mágicos PHP - Detector de números mágicos PHP
- PHP-malware-finder - Detecte arquivos PHP potencialmente maliciosos
- PHP Mess Detector - Procure vários problemas potenciais no código-fonte.
- PHP Reaper - Verifica o código ADOdb para injeções de SQL.
- PHP SA – Uma ferramenta de desenvolvimento que visa trazer análises complexas para aplicações e bibliotecas PHP.
- PHP Stan - concentra-se em encontrar erros no código sem realmente executá-lo.
- PHP Unlocker - Detecte bloqueios de tabela de banco de dados potenciais e não intencionais para aplicativos PHP usando ADOdb. Usa métodos de análise estática.
- Testabilidade de PHP - Analisa e produz um relatório com problemas de testabilidade de uma base de código php.
- Caçador de vulnerabilidades PHP - Verifica vulnerabilidades PHP automaticamente usando métodos de análise estática.
- Progpilot – Uma ferramenta de análise estática para fins de segurança.
- Salmo - Uma ferramenta de análise estática para encontrar erros em aplicativos PHP.
- psecio:parse - Analisar: um scanner de segurança PHP.
- Qodana PHP da JetBrains – Uma ferramenta de análise estática para projetos PHP baseada em PhpStorm.
- SonarQube – Uma plataforma aberta para gerenciar a qualidade do código. Abrange o código PHP.
- Side Channel Analyzer - Procure código vulnerável de canal lateral.
- TaintPHP - Analisador Estático de Taint.
- Tuli - Um mecanismo de análise estática.
- Scanner não utilizado - Detecta dependências do compositor não utilizadas
- WAP - Ferramenta para detectar e corrigir vulnerabilidades de validação de entrada em aplicações web PHP (4.0 ou superior) e prever falsos positivos.
- PHP VarDump Check - aplicativo de console PHP para encontrar dump de variáveis esquecidas.
- 17eyes - analisador estático PHP escrito em Haskell.
- CakeFuzzer - Ferramenta definitiva de teste de segurança de aplicativos da web para aplicativos da web baseados em CakePHP.
Padrões de codificação
Ferramentas para revisar a forma como o código PHP foi escrito e muito mais.
- Pahout - Um parceiro de programação em pares para escrever PHP melhor.
- compositor-normalize - Fornece um plugin de compositor para normalizar compositor.json.
- EasyCodingStandard - Uma ferramenta fácil de usar, que permite usar CodeSniffer e PHP-CS-Fixer de forma simples.
- PHPas - Uma ferramenta para formatar e embelezar o estilo do código PHP com o meu estilo.
- PHPArkitect - 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.
- PHP Code Sniffer - PHPCS verifica e corrige automaticamente o código para uma grande variedade de padrões de codificação.
- PHPCheckstyle – Uma ferramenta para ajudar a aderir a certas convenções de codificação.
- PHP Doc Check - Usa métricas de complexidade para impor convenções de documentação em funções não triviais.
- Formatador PHP - Este formatador PHP tem como objetivo fornecer algumas ações em massa para seus projetos PHP para garantir sua consistência.
- TLint - Este é um linter de código opinativo (com suporte crescente para formatação automática!) Para convenções de código com sabor Tighten para Laravel e PHP.
faça você mesmo
Bibliotecas que podem servir de base para um analisador estático caseiro.
- Deptrac – Uma ferramenta de análise de código estático para impor regras para dependências entre camadas de software.
- PHP Architecture Tester - Ferramenta de teste de arquitetura fácil de usar para PHP
- PHPArkitect – Uma ferramenta de análise de código estático para impor regras de arquitetura em sua base de código
- PHP-cfg - Uma implementação de gráfico de fluxo de controle em PHP. Escrito por IrcMaxwell.
- Detector de acoplamento PHP - Verifique se o código não possui classes acopladas indesejadas.
- PHP Parser - Escrito em PHP por Nikita Popov e baseado na gramática real do PHP.
- PHP Token Reflection - Biblioteca que emula a reflexão interna do PHP usando apenas o código-fonte tokenizado.
- PHPSandbox - Uma classe sandbox PHP 5.3.2+ em grande escala que utiliza PHPParser para evitar que código em sandbox execute código inseguro.
- Reflection - Biblioteca de reflexão para fazer análises estáticas para projetos PHP.
- Better Reflection - Biblioteca Reflection com recursos adicionais, como análise de dicas do tipo docblock, usa o PHP Parser do nikic nos bastidores.
Fixadores
Ferramentas para corrigir automaticamente o código fornecido.
- Reitor - Atualizações instantâneas de aplicativos PHP baseadas em AST
- FunctionFQNReplacer - fornece uma maneira de substituir referências relativas de funções em chamadas de função por referências absolutas.
- Phpactor - Este projeto visa fornecer ferramentas pesadas de refatoração e introspecção.
- PHP BackSlasher - Ferramenta para adicionar todas as funções e constantes internas do PHP ao seu namespace, adicionando barra invertida a elas.
- php-refactoring-browser - ferramenta de refatoração CLI.
- PHP CS Fixer - Analisa e tenta corrigir problemas de padrões de codificação (compatível com PSR-1 e PSR-2).
- phpdoc para typehint - Transforme os comentários do phpdocs em Typehint real (argumentos e retorno).
- php-scoper - Prefixa todos os namespaces PHP em um arquivo/diretório para isolar o código agrupado em PHARs.
- Transphpile - Escreva PHP 7, execute PHP 5.6, com recurso backport.
- PHP Weaver - Analisando tipos de parâmetros em tempo de execução e gerando os phpdocs apropriados.
Métricas
Ferramentas para medir a complexidade do código, linha de códigos, etc.
- AST Metrics - Um analisador de código estático extremamente rápido que calcula várias métricas para ajudar a identificar o código que precisa ser refatorado e fornece uma bela interface gráfica.
- churn-php – Ajuda a descobrir bons candidatos para refatoração.
- Design Pattern Detector - detecção de padrões de design em código PHP.
- dePHPend - dePHPend ajuda a analisar dependências e arquitetura e permite definir restrições para ambas.
- Dissecar - Um conjunto de ferramentas para análise lexical e sintática.
- php-arguments-detector - Mantenha o controle sobre a complexidade de seus métodos verificando se eles não possuem muitos argumentos.
- php-smelly-code-detector - detector de cheiro de código PHP.
- PHPLOC - Utilitário para medir o tamanho da aplicação PHP e contar diversas estruturas.
- Métricas PHP - Calcula todos os tipos de métricas e as exibe em uma interface deslumbrante.
- PHP Semantic Versioning Checker - Compara dois conjuntos de fontes e determina o versionamento semântico apropriado a ser aplicado.
- PhpStats – Ferramenta para coletar estatísticas, métricas, dependências e construir vários gráficos para grandes projetos para encontrar gargalos.
- PhpDependencyAnalysis – Análise de código estático para fornecer e verificar um gráfico de dependência em relação a uma arquitetura definida.
- php-wording-detector - Ferramenta simples para analisar e dividir as palavras contidas em seu código para verificar sua abordagem DDD.
- Quality Analyzer - Quality Analyzer é uma ferramenta para visualizar métricas e código-fonte.
Visualização
Ferramentas que exibem código PHP de forma gráfica
- PHPcity - PHPCity é uma implementação de visualização de metáforas de cidades e fornece visualização de projetos PHP que são implementados no estilo orientado a objetos.
SaaS
Serviços online para código PHP fornecem painéis. Eles podem usar as ferramentas anteriores ou oferecer as suas próprias.
- Bliss – Revisa automaticamente o código em tempo real e mostra quanto vale em linhas de código.
- Codacy - Codacy: revisão automatizada de código.
- CodeBeaat - Diminui a dívida técnica. Encontre oportunidades de refatoração.
- Code Climate - Análise estática hospedada para código-fonte Ruby, PHP e JavaScript.
- CodeScene - Priorize dívidas técnicas em PHP, JavaScript, etc.
- Codegrip - maneira mais inteligente e segura de revisão de código
- Deepsource - DeepSource é uma plataforma moderna de análise estática, desenvolvida para equipes de engenharia que se movem rapidamente e não quebram nada.
- Insight - Uma ferramenta SensioLabs para analisar o código-fonte para encontrar problemas que degradam a qualidade geral de seus projetos.
- Insphpect - Insphpect é uma ferramenta automatizada de revisão de código que identifica inflexibilidades no código PHP e ajuda você a escrever software melhor.
- RIPS – O software de segurança superior para aplicações PHP. Analisador estático de código-fonte para vulnerabilidades.
- Scrutinizer - Melhore a qualidade do código e encontre bugs antes que eles cheguem à produção com nossa plataforma de inspeção contínua.
- Sourcegraph - Entenda e pesquise em toda a sua base de código
- SideCI - CI para revisão automatizada de código por análise de código.
- Laravelshift - a maneira automatizada de atualizar aplicativos Laravel. Atualize os aplicativos Laravel desde o Laravel 4.2 até a versão mais recente do Laravel.
Diversos
- HHVM - hackear linguagem do Facebook. Adicione um SCA até a versão 3.3.8, a versão mais recente não possui mais.
- PHP Manipulator - Uma biblioteca para analisar e modificar o código-fonte PHP.
- PHP Parser – Uma biblioteca NodeJS para analisar PHP e extrair tokens e AST.
- PHPQA - Um wrapper para muitas ferramentas PHP relatadas em um único arquivo HTML.
- Fixtro - Um wrapper que permite rodar em cada pré-commit. Ele instala sozinho todas as dependências dos executores com muitos deles (phpunit, phpmd, php-cs-fixer, etc..)
- Verificador de Cobertura - Uma ferramenta que permite que algumas das ferramentas aqui sejam aplicadas apenas no código alterado. Bom para avançar em direção a novos padrões
- Composer Require Checker - Uma ferramenta CLI para verificar se um pacote específico do compositor usa símbolos importados que não fazem parte de suas dependências diretas do compositor
- Baseliner de resultados de análise estática - Uma ferramenta para gerar uma linha de base a partir de ferramentas de análise estática.