Skip to main content
Le Corgea Code Quality Scanner est un outil de revue de code basé sur l’IA qui détecte les problèmes de maintenabilité, de lisibilité, de performance et d’exactitude dans votre code. Contrairement à nos scanners de vulnérabilités, qui recherchent les menaces de sécurité, le Code Quality Scanner examine votre code comme le ferait un ingénieur logiciel expérimenté afin de préserver sa qualité et de limiter la dette technique.

Fonctionnement

Le Code Quality Scanner analyse vos fichiers source afin de détecter les problèmes concrets qui nuisent à la qualité du code à long terme. Il passe chaque fichier en revue comme le ferait un ingénieur senior, repère les défauts susceptibles d’échapper aux revues manuelles et propose des améliorations pratiques.

Principales fonctionnalités

  • Revue de code automatisée : analyse le code en profondeur afin de détecter les problèmes de qualité courants qui nuisent à sa maintenabilité
  • Analyse adaptée au langage : comprend le contexte et les conventions propres aux différents langages de programmation
  • Détection des frameworks : reconnaît les frameworks courants et applique les bonnes pratiques correspondantes
  • Classification par sévérité : hiérarchise les problèmes selon leur impact (élevé, moyen ou faible)
  • Mappage CWE : associe les problèmes aux catégories Common Weakness Enumeration (CWE)

Ce qu’il peut trouver

Le Code Quality Scanner détecte un large éventail de problèmes de qualité du code. Tous les résultats sont associés aux afin d’assurer une classification cohérente.
  • Fautes de frappe et d’orthographe dans les commentaires de code, les noms de variables et les chaînes de caractères (CWE-1078)
  • Commentaires inexacts ou trompeurs qui contredisent le comportement réel du code ou peuvent être obsolètes (CWE-1116)
example.js
  • Blocs de code vides sans utilité (CWE-1071)
  • Variables et imports inutilisés, et code mort qui encombrent le code (CWE-563, CWE-1041)
  • Blocs d’exception vides qui ignorent silencieusement les erreurs (CWE-1069, CWE-390)
  • Code inaccessible qui ne peut jamais s’exécuter (CWE-561)
example.py
  • Code dupliqué qui devrait être refactorisé dans des fonctions partagées (CWE-1041)
  • Clés ou littéraux dupliqués dans les objets, et nombres magiques qui devraient devenir des constantes (CWE-1078)
  • Code non conforme au principe — logique répétée qui alourdit la maintenance
  • Concaténation de chaînes dans les boucles, qui dégrade les performances (CWE-1046)
  • Opérations inefficaces et consommation inutile de ressources (CWE-1050)
  • Goulots d’étranglement de performance dans des chemins de code fréquemment exécutés
Example.java
  • Fonctions avec trop de paramètres (>5 paramètres) indiquant une mauvaise conception (CWE-1064)
  • Signatures de fonctions trop complexes qui sont difficiles à utiliser correctement
  • Dépendances circulaires entre les modules (CWE-1047)
  • Non-respect des
  • Expressions complexes sur une seule ligne qui devraient être décomposées pour gagner en clarté (CWE-1120)
  • Logique profondément imbriquée comportant trop de branches et difficile à comprendre
  • Fonctions utilitaires trop génériques qui masquent l’intention
  • Non-respect du
  • Conventions de nommage incohérentes qui rendent le code plus difficile à suivre (CWE-1099)
  • Noms de variables génériques et peu explicites tels que obj, x ou data
  • Conventions de nommage mélangées, par exemple camelCase et snake_case dans le même code
  • Erreurs logiques qui provoquent un comportement incorrect (CWE-670)
  • Traitement incorrect des données qui produit de mauvais résultats
  • Code qui ne fonctionnera pas comme prévu en raison d’erreurs d’implémentation
  • Commentaires TODO et code provisoire (CWE-1071)
  • Fonctionnalités partiellement implémentées susceptibles de poser problème
  • Implémentations incomplètes qui nécessitent une intervention

Fonctionnement

1. Analyse des fichiers

Le scanner traite séparément chaque fichier de votre code et analyse l’intégralité de sa source en tenant compte de sa structure, de son langage et des frameworks détectés.

2. Revue assistée par l’IA

Le scanner utilise des modèles de langage avancés, spécialement entraînés à la revue de code, pour examiner votre code selon les principes reconnus de l’ingénierie logicielle et les bonnes pratiques. L’IA comprend :
  • Les idiomes et conventions propres à chaque langage
  • Les patterns et bonnes pratiques des frameworks
  • Indicateurs de complexité et de maintenabilité du code
  • Principes de conception logicielle standards de l’industrie

3. Identification des problèmes

Lorsqu’un problème potentiel est détecté, le scanner :
  • Identifie précisément les lignes de code impliquées
  • Classe le type de problème selon les catégories CWE
  • Attribue un niveau de sévérité approprié
  • Génère une explication claire du problème et de son impact

4. Détection avec un niveau de confiance élevé

  • Le scanner ne signale que les problèmes pour lesquels son niveau de confiance atteint au moins 90 %. Ce seuil élevé garantit des résultats précis et exploitables plutôt que spéculatifs.
  • Le seuil de confiance de 90 % réduit considérablement le bruit et les faux positifs. Les problèmes signalés méritent donc réellement votre attention.

Suppression des faux positifs

Le Code Quality Scanner intègre des mécanismes avancés de réduction des faux positifs afin de ne présenter que des résultats pertinents et exploitables :

Filtres intégrés

Exclusion des problèmes de sécurité : le scanner exclut explicitement les vulnérabilités de sécurité (injection SQL, XSS, problèmes d’authentification, etc.), qui sont traitées par les scanners de sécurité dédiés de Corgea. Cette séparation évite tout chevauchement entre les résultats de qualité et de sécurité.
Filtrage des préférences de style : les préférences mineures, telles que le placement des accolades, l’indentation et les espaces, ne sont pas signalées. Le scanner se concentre sur les véritables problèmes de qualité et non sur les choix de mise en forme.

Compréhension contextuelle

Le scanner comprend le contexte du code pour éviter les faux positifs :
  • Reconnaît lorsque des blocs « vides » sont intentionnels (par exemple, des implémentations provisoires)
  • Comprend les schémas spécifiques à chaque framework qui pourraient autrement sembler problématiques
  • Prend en compte les idiomes de langage acceptables dans certains langages de programmation

Remédiation automatisée

Lorsque des problèmes de qualité du code sont détectés, les fonctionnalités de remédiation automatisée de Corgea vous aident à les corriger rapidement et de manière cohérente :

Ce qui est corrigé

Le système automatisé de remédiation peut résoudre de nombreux problèmes courants de qualité de code, notamment :
  • Suppression des variables inutilisées et des importations
  • Conversion des nombres magiques en constantes nommées
  • Correction des fautes de frappe dans les noms de variables et les commentaires

Comment fonctionne la remédiation

  1. Contexte du problème : le système analyse tout le contexte du problème, notamment le rôle du code concerné dans l’ensemble du projet
  2. Correctifs sûrs : les correctifs automatisés sont conçus pour préserver les fonctionnalités existantes
  3. Respect du style du code : les correctifs respectent le style et les conventions en place
  4. Examen avant application : vous gardez le contrôle total des correctifs à appliquer

Distinct du scan des vulnérabilités

Le Code Quality Scanner est entièrement distinct des fonctionnalités Corgea de scan des vulnérabilités de sécurité.

Différences clés

Pourquoi les deux sont importants

  • La sécurité protège votre application contre les attaquants
  • La qualité du code préserve sa maintenabilité, ses performances et sa fiabilité
Ces deux dimensions sont essentielles à la santé d’un projet logiciel, mais répondent à des enjeux différents. Un code peut être sécurisé mais difficile à maintenir, ou bien structuré mais vulnérable. Corgea couvre les deux afin de vous donner une vue complète de sa qualité.

Niveaux de sévérité

Problèmes qui provoquent des plantages, de graves dégradations des performances ou des bugs critiques :
  • Blocs catch vides qui masquent les erreurs
  • Boucles infinies
  • Une logique qui échoue toujours
  • Goulots d’étranglement critiques
Action : corriger immédiatement

Bien démarrer

Le Code Quality Scanner s’intègre parfaitement à votre flux de développement :
1

Connecter votre dépôt

Associez votre dépôt de code à Corgea avec GitHub, GitLab, Azure DevOps ou Bitbucket
2

Analyse automatique

Le scanner analyse automatiquement vos fichiers
3

Examiner les résultats

Consultez les problèmes détectés, leurs explications et leur niveau de sévérité dans le tableau de bord du projet
4

Appliquer des correctifs

Utilisez la remédiation automatisée ou corrigez les problèmes manuellement
5

Suivre la progression

Suivez l’amélioration de la qualité du code dans le temps

Documentation associée

SAST natif de l’IA

Découvrez les capacités de détection des vulnérabilités de sécurité de Corgea

Correctifs automatisés

Découvrez le fonctionnement de la remédiation automatisée pour tous les types de scan

Gestion des faux positifs

Gérez et écartez efficacement les faux positifs

Gestion des problèmes

Suivez et gérez tous les problèmes de vos projets

Assistance

Pour obtenir de l’aide, écrivez à support@corgea.com.