Outils d'analyse statique pour PHP
Une liste organisée d'outils d'analyse statique pour PHP.
Contribuer
Voir CONTRIBUER.
Table des matières
- Chercheurs de bogues
- Normes de codage
- BRICOLAGE
- Réparateurs
- Métrique
- SaaS
- Divers
Chercheurs de bogues
Outils pour signaler les problèmes dans le code qui sont ou conduisent à des bogues.
- AppChecker - outil d'analyse statique pour trouver des bugs, des faiblesses et des vulnérabilités dans le code source
- Code insight - Un outil pour analyser d'autres bases de code de projet.
- AST Metrics - Un analyseur de code statique ultra-rapide qui vous aide à identifier le code qui doit être refactorisé.
- Churn-PHP - Découvrez les fichiers nécessitant une refactorisation.
- composer-dependency-analyser - Détection rapide des problèmes de dépendance du compositeur (dépendances inutilisées, dépendances fantômes, dépendances mal placées)
- Composer-Unused - Un outil Composer pour afficher les dépendances Composer inutilisées en analysant votre code.
- Eir - Un outil d'analyse de vulnérabilité statique écrit en C#.
- Exakat - Analyse statique intelligente.
- jscpd - Détecteur de copier/coller pour programmer le code source.
- Mondrian - Un outil d'analyse de code utilisant la théorie des graphes.
- name-collision-detector - Détecte les doublons de symboles (collisions de noms de classe).
- noverify - Linter assez rapide (utilitaire d'analyse statique de code) pour PHP.
- Pfff - Outils pour l'analyse de code, les visualisations ou la transformation source préservant le style.
- phanalist - Un analyseur statique pour PHP. Il vous aide à détecter les erreurs courantes dans votre code PHP.
- PHP Analysis - Une bibliothèque pour analyser et modifier le code source PHP dans Rascal (PHP AiR).
- PHParch - PHPArch est une bibliothèque de tests architecturaux en cours de développement pour les projets PHP.
- Hypothèse PHP – Trouve des hypothèses faibles dans le code, suggère de les transformer en validations plus fortes.
- PhpCodeAnalyzer - Recherche l'utilisation d'extensions non intégrées.
- PHPCodeFixer - Recherche l'utilisation de fonctions, variables et directives ini obsolètes.
- php-compat-info - Découvrez la version minimale et les extensions requises pour qu'un morceau de code s'exécute.
- php7mar - Rapport de l'assistant de migration PHP 7.
- phpcallgraph - Génère des graphiques d'appels statiques. Un tel graphique visualise les dépendances d'appel entre les méthodes ou les fonctions d'une application.
- PHPCPD - Repère le code copié/collé et aide à appliquer la règle DRY.
- PHPDoctor - Vérifiez les fichiers ou répertoires PHP pour les types manquants.
- Phan - L'analyseur statique de Rasmus, PHP Creator.
- Phinder - Recherche de morceaux de code PHP
- Phortress - Un analyseur de code statique PHP pour les vulnérabilités potentielles.
- Compatibilité PHP - Recherchez le code incompatible avec une plage spécifiée de versions PHP.
- PHP Deprecation Detector - PhpDeprecationDetector - analyseur de code PHP pour rechercher les utilisations des fonctionnalités obsolètes dans les versions plus récentes de l'interpréteur.
- Analyse statique du code PHP - Programme d'analyse statique du code PHP réalisé dans nodeJS.
- PHP Inspection - Plugin d'analyse statique pour PHPStorm.
- PHP Integrator - Indexe le code PHP et effectue une analyse statique pour l'éditeur Atom.
- Phlint - Phlint est un outil dont le but est d'aider à maintenir la qualité du code PHP en analysant le code et en signalant les problèmes potentiels de code.
- PHP lint - PHP lui-même, capable de détecter les erreurs de syntaxe à partir de la ligne de commande.
- PHPlint - Un validateur et documentateur pour les programmes PHP 5.
- PHP-Parallel-Lint - Un outil de linting php parallèle pour PHP 5.4 ou version ultérieure
- Détecteur de nombres magiques PHP - Détecteur de nombres magiques PHP
- PHP-malware-finder - Détecter les fichiers PHP potentiellement malveillants
- PHP Mess Detector - Recherchez plusieurs problèmes potentiels dans le code source.
- PHP Reaper - Scannez le code ADOdb pour les injections SQL.
- PHP SA - Un outil de développement visant à apporter des analyses complexes aux applications et bibliothèques PHP.
- PHP Stan - Se concentre sur la recherche d'erreurs dans le code sans réellement l'exécuter.
- PHP Unlocker - Détectez les verrous potentiels et involontaires de table de base de données pour les applications PHP à l'aide d'ADOdb. Utilise des méthodes d'analyse statique.
- Testabilité PHP - Analyse et produit un rapport avec les problèmes de testabilité d'une base de code PHP.
- PHP vuln hunter - Analyse automatiquement les vulnérabilités PHP à l'aide de méthodes d'analyse statique.
- Progpilot - Un outil d'analyse statique à des fins de sécurité.
- Psaume - Un outil d'analyse statique pour trouver des erreurs dans les applications PHP.
- psecio:parse - Parse : Un scanner de sécurité PHP.
- Qodana PHP par JetBrains – Un outil d'analyse statique pour les projets PHP basé sur PhpStorm.
- SonarQube - Une plateforme ouverte pour gérer la qualité du code. Il couvre le code PHP.
- Analyseur de canal latéral - Recherchez le code vulnérable du canal secondaire.
- TaintPHP - Analyseur de contamination statique.
- Tuli - Un moteur d'analyse statique.
- Unused-scanner - Détecter les dépendances inutilisées du compositeur
- WAP - Outil pour détecter et corriger les vulnérabilités de validation d'entrée dans les applications Web PHP (4.0 ou supérieur) et prédire les faux positifs.
- PHP VarDump Check - Application console PHP permettant de rechercher un dump de variable oublié.
- 17eyes - Analyseur statique PHP écrit en Haskell.
- CakeFuzzer - Outil ultime de test de sécurité des applications Web pour les applications Web basées sur CakePHP.
Normes de codage
Des outils pour revoir la façon dont le code PHP a été écrit et plus encore.
- Pahout - Un partenaire de programmation en binôme pour écrire un meilleur PHP.
- composer-normalize - Fournit un plugin composer pour normaliser composer.json.
- EasyCodingStandard - Un outil facile à utiliser, qui permet d'utiliser CodeSniffer et PHP-CS-Fixer de manière simple.
- PHPas - Un outil pour formater et embellir le style du code PHP avec mon style.
- PHPArkitect - PHPArkitect vous aide à garder votre base de code PHP cohérente et solide, en permettant d'ajouter une vérification des contraintes architecturales à votre flux de travail.
- PHP Code Sniffer - PHPCS vérifie et corrige automatiquement le code pour une large gamme de normes de codage.
- PHPCheckstyle - Un outil pour aider à respecter certaines conventions de codage.
- PHP Doc Check - Utilise des métriques de complexité pour appliquer les conventions de documentation sur les fonctions non triviales.
- Formateur PHP - Ce formateur PHP vise à vous fournir des actions groupées pour vos projets PHP afin d'assurer leur cohérence.
- TLint - Il s'agit d'un linter de code avisé (avec un support croissant pour le formatage automatique !) pour resserrer les conventions de code aromatisées pour Laravel et PHP.
BRICOLAGE
Bibliothèques pouvant servir de base à un analyseur statique fait maison.
- Deptrac - Un outil d'analyse de code statique pour appliquer des règles de dépendances entre les couches logicielles.
- PHP Architecture Tester - Outil de test d'architecture facile à utiliser pour PHP
- PHPArkitect - Un outil d'analyse de code statique pour appliquer des règles architecturales dans votre base de code
- PHP-cfg - Une implémentation de Control Flow Graph en PHP. Écrit par IrcMaxwell.
- Détecteur de couplage PHP - Vérifiez que le code ne contient aucune classe couplée indésirable.
- PHP Parser - Écrit en PHP par Nikita Popov et basé sur la grammaire actuelle de PHP.
- PHP Token Reflection - Bibliothèque émulant la réflexion interne PHP en utilisant uniquement le code source tokenisé.
- PHPSandbox - Une classe sandbox PHP 5.3.2+ à grande échelle qui utilise PHPParser pour empêcher le code en bac à sable d'exécuter du code dangereux.
- Reflection - Bibliothèque Reflection pour effectuer une analyse statique pour les projets PHP.
- Better Reflection - Bibliothèque de réflexion avec des fonctionnalités supplémentaires telles que l'analyse des indices de type docblock, utilise l'analyseur PHP de Nikic sous le capot.
Réparateurs
Des outils pour corriger automatiquement le code qui leur est fourni.
- Recteur - Mises à niveau instantanées des applications PHP basées sur AST
- FunctionFQNReplacer - fournit un moyen de remplacer les références relatives de fonctions dans les appels de fonction par des références absolues.
- Phpactor - Ce projet vise à fournir des outils de refactoring et d'introspection lourds.
- PHP BackSlasher - Outil pour ajouter toutes les fonctions et constantes internes de PHP à son espace de noms en leur ajoutant une barre oblique inverse.
- php-refactoring-browser - Outil de refactorisation CLI.
- PHP CS Fixer - Analyse et tente de résoudre les problèmes de normes de codage (compatibles PSR-1 et PSR-2).
- phpdoc to typehint - Transformez les commentaires phpdocs en Typehint réel (arguments et retour).
- php-scoper - Préfixe tous les espaces de noms PHP dans un fichier/répertoire pour isoler le code fourni dans les PHAR.
- Transphpile - Écrivez PHP 7, exécutez PHP 5.6, avec fonctionnalité de rétroportage.
- PHP Weaver - Analyser les types de paramètres au moment de l'exécution et générer les phpdocs appropriés.
Métrique
Outils pour mesurer la complexité du code, la ligne de codes, etc.
- AST Metrics - Un analyseur de code statique ultra-rapide qui calcule diverses métriques pour aider à identifier le code qui doit être refactorisé et fournit une belle interface graphique.
- churn-php - Aide à découvrir de bons candidats pour le refactoring.
- Design Pattern Detector - détection de modèles de conception dans le code PHP.
- dePHPend - dePHPend aide à analyser les dépendances et l'architecture et vous permet de définir des contraintes pour les deux.
- Dissect - Un ensemble d'outils pour l'analyse lexicale et syntaxique.
- php-arguments-detector - Gardez le contrôle sur la complexité de vos méthodes en vérifiant qu'elles n'ont pas trop d'arguments.
- php-smelly-code-detector - Détecteur d'odeur de code PHP.
- PHPLOC - Utilitaire pour mesurer la taille des applications PHP et compter diverses structures.
- PHP Metrics - Calcule toutes sortes de métriques et les affiche dans une superbe interface.
- PHP Semantic Versioning Checker - Compare deux ensembles de sources et détermine le versioning sémantique approprié à appliquer.
- PhpStats - Outil permettant de collecter des statistiques, des métriques, des dépendances et de créer divers graphiques pour les grands projets afin de trouver les goulots d'étranglement.
- PhpDependencyAnalysis - Analyse de code statique pour fournir et vérifier un graphique de dépendance par rapport à une architecture définie.
- php-wording-detector - Outil simple pour analyser et diviser les mots contenus dans votre code afin de vérifier votre approche DDD.
- Quality Analyzer - Quality Analyzer est un outil pour visualiser les métriques et le code source.
Visualisation
Outils qui affichent le code PHP de manière graphique
- PHPcity - PHPCity est une implémentation de la visualisation de métaphores urbaines et permet de visualiser des projets PHP implémentés de manière orientée objet.
SaaS
Les services en ligne pour le code PHP fournissent des tableaux de bord. Ils peuvent utiliser les outils précédents ou proposer les leurs.
- Bliss - Examine automatiquement le code en temps réel et montre sa valeur en lignes de code.
- Codacy - Codacy : révision automatisée du code.
- CodeBeaat - Diminuer la dette technique. Trouvez des opportunités de refactorisation.
- Code Climate - Analyse statique hébergée pour le code source Ruby, PHP et JavaScript.
- CodeScene – Prioriser la dette technique en PHP, JavaScript, etc.
- Codegrip - Un moyen plus intelligent et sécurisé de réviser le code
- Deepsource - DeepSource est une plateforme d'analyse statique moderne, conçue pour les équipes d'ingénierie qui évoluent rapidement et ne cassent pas les choses.
- Insight - Un outil SensioLabs pour analyser le code source pour trouver les problèmes qui dégradent la qualité globale de vos projets.
- Insphpect - Insphpect est un outil automatisé de révision de code qui identifie les manques de flexibilité du code PHP et vous aide à écrire de meilleurs logiciels.
- RIPS - Le logiciel de sécurité supérieur pour les applications PHP. Analyseur statique de code source pour les vulnérabilités.
- Scrutinizer - Améliorez la qualité du code et trouvez les bogues avant qu'ils n'atteignent la production grâce à notre plateforme d'inspection continue.
- Sourcegraph - Comprenez et recherchez dans l'ensemble de votre base de code
- SideCI - CI pour la révision automatisée du code par analyse de code.
- Laravelshift - le moyen automatisé de mettre à niveau les applications Laravel. Mettez à niveau les applications Laravel depuis Laravel 4.2 vers la dernière version de Laravel.
Divers
- HHVM - Hacker le langage de Facebook. Ajoutez un SCA jusqu'à la version 3.3.8, la version plus récente n'en a plus.
- PHP Manipulator - Une bibliothèque pour analyser et modifier le code source PHP.
- PHP Parser - Une bibliothèque NodeJS pour analyser PHP et extraire des jetons et AST.
- PHPQA - Un wrapper pour de nombreux outils PHP regroupés dans un seul fichier HTML.
- Fixtro - Un wrapper qui permet de s'exécuter dans chaque pré-commit. Il installe lui-même toutes les dépendances des runners avec beaucoup d'entre elles (phpunit, phpmd, php-cs-fixer, etc..)
- Coverage Checker - Un outil qui permet d'appliquer certains des outils ici uniquement sur le code modifié. Bon pour évoluer vers de nouvelles normes
- Composer Require Checker - Un outil CLI pour vérifier si un package de compositeur spécifique utilise des symboles importés qui ne font pas partie de ses dépendances directes du compositeur
- Static Analysis Results Baseliner - Un outil permettant de générer une ligne de base à partir d'outils d'analyse statique.