Personne tapant sur ordinateur
Analyse statique Java

Analyse de code statique Java

Propulsé par Parasoft Jtest, la solution de productivité des tests pour développeurs Java

Fournir un logiciel sécurisé et fiable

Assurez-vous que le code est fiable

Validez la fiabilité et la sécurité du code et réduisez les vulnérabilités grâce à des contrôles de conformité pour CWE, OWASP, etc.

Identifier les risques de sécurité

Simplifiez l'identification et l'atténuation des vulnérabilités de sécurité. Découvrez les risques potentiels à l'aide d'une analyse statique et priorisez le travail pour résoudre les problèmes.

Optimiser la résolution des problèmes

Obtenez des recommandations pour les violations et les vulnérabilités hautement prioritaires afin de les corriger et de leur affecter les ressources appropriées.

Outil d'analyse de code statique pour développer des applications Java fiables

Parasoft Jtest vérifie la qualité du code Java et vérifie la conformité aux normes de sécurité (OWASP, CWE, CERT, PCI DSS, etc.) en appliquant une large gamme de vérificateurs d'analyse statique propriétaires (plus de 1000) pour aller bien au-delà de l'open source. Parasoft Jtest s'appuie sur le centre de reporting et d'analyse centralisé de Parasoft, PAO Parasoft, pour fournir des informations approfondies sur la qualité du code et les risques.

Comment ça marche?

Parasoft Jtest fournit un ensemble complet de vérificateurs d'analyse statique et de techniques de test qui peuvent être utilisés pour vérifier la conformité aux normes de sécurité (OWASP, CWE, CERT, PCI DSS, etc.) et aux normes de codage personnalisées (à l'aide de fonctions intégrées ou définies par l'utilisateur). règles), trouver les problèmes d'exécution tôt et sans exécuter de code (tels que les exceptions de pointeur nul, tableau hors limite), identifier la duplication de code et comprendre la complexité et la structure du code (en tirant parti de plus de 40 métriques de code acceptées par l'industrie).

Jtest utilise un moteur d'analyse de code Java de pointe pour analyse statique et comprendre le code testé et trouver les défauts de code indiqués par des violations de règles. Il est livré avec plus de 1000 vérificateurs différents qui couvrent les meilleures pratiques générales (Effective Java, The Java Programming Language) et les normes de codage et de conformité de l'industrie, ainsi que des détecteurs de bogues spécialisés (tels que l'exception de pointeur nul, les fuites de ressources, les blocages, la division par zéro , tableau hors limite, etc.).

Pour aider les utilisateurs à comprendre quelles règles d'analyse statique utiliser, Jtest organise et associe des métadonnées aux règles, en fournissant:

  • Configurations de test intégrées: Des ensembles de règles prédéfinis permettent aux utilisateurs d'effectuer une analyse statique rapidement et facilement.
  • Catégories de règles: Chaque règle appartient à une catégorie de règles (telle que Optimisation, Sécurité, Exceptions, API) pour aider les utilisateurs à comprendre rapidement comment les règles peuvent bénéficier à leurs priorités de test.
  • Niveaux de gravité: Chaque règle est affectée d'un niveau de gravité pour aider les utilisateurs à mieux comprendre l'impact potentiel de la violation de règle.

L'analyse de code statique peut être effectuée dans l'IDE (Eclipse, IntelliJ et VS Code), à ​​partir de la ligne de commande ou à l'aide de plug-ins de système de construction (Ant, Maven, Gradle) pour les scénarios d'automatisation et d'intégration continue. Les résultats de l'analyse sont accessibles immédiatement (dans l'IDE ou avec des rapports HTML/XML/PDF), intégrés aux systèmes CI comme GitHub, GitLab et Azure DevOps, ou accessibles par PAO Parasoft pour le post-traitement, le reporting et les analyses avancées. Jtest fournit des fonctionnalités avancées pour faire de l'analyse statique un élément maintenable du processus de développement, comme la suppression des résultats indésirables, la hiérarchisation et l'attribution des résultats aux développeurs, et bien plus encore.

Caractéristiques

Pour se prémunir contre les défauts logiciels entrant dans la base de code, Parasoft Jtest analyse l'arbre d'analyse dans un fichier et recherche des modèles qui représentent de mauvaises pratiques de développement. Jtest expose des chemins dangereux à travers la base de code qui pourraient provoquer des instabilités et des problèmes de sécurité lors de l'exécution, sans exécuter tous ces chemins par programmation. En analysant les chemins d'exécution à travers le code, l'analyse statique de Jtest peut détecter les problèmes potentiels au début de la phase de développement, tels que les exceptions de pointeur nul, la division par zéro, les problèmes de tableau hors limites, etc.

Pour gérer la complexité, Jtest vous aide à comprendre les métriques de code. En vous aidant à comprendre la structure / conception de votre base de code et à mesurer la complexité de votre base de code, Jtest vous aide à gérer, à définir des seuils et à prendre des mesures, identifiant les cauchemars de maintenance potentiels.

Jtest identifie les instances où le code a été dupliqué ou où le code est suffisamment similaire pour que vous souhaitiez peut-être consolider l'implémentation. Cela vous aide non seulement à identifier les endroits où vous pourriez refactoriser le code pour bénéficier de la conception, mais également à réduire le cycle de maintenance associé aux modifications de la base de code.

Parasoft Jtest fournit un ensemble de vérificateurs intégrés pour vérifier la conformité aux normes telles que OWASP Top 10, OWASP API Security Top 10, OWASP-ASVS, CERT for Java, CWE-SANS Top 25, PCI Data Security Standard, etc. L'utilisation des normes de codage permet aux utilisateurs de créer des applications et des services Web/distribués sécurisés et fiables.

En utilisant le mode de qualité continue de Parasoft Jtest dans l'IDE (Eclipse, IntelliJ, VS Code), Jtest analyse automatiquement le code en arrière-plan (chaque fois que vous appuyez sur enregistrer) et alerte les utilisateurs lorsqu'il détecte des défauts. Grâce à cette fonctionnalité, les utilisateurs obtiennent un retour immédiat pour détecter les problèmes le plus tôt possible.

L'analyse de code personnalisable de Jtest permet aux équipes de définir des directives et des normes de codage spécifiques à l'organisation. Grâce à cette flexibilité, les utilisateurs peuvent activer et désactiver les règles (créer des configurations de test personnalisées pour n'inclure que des règles pertinentes du point de vue du développement de l'organisation), modifier les règles existantes (les règles peuvent être paramétrées pour mieux répondre aux besoins de développement) et créer de nouvelles règles personnalisées sans avoir à écrire de code, pour étendre (ou remplacer) les règles intégrées.

Pour appliquer les mêmes stratégies de développement dans toute l'organisation, ces configurations de test personnalisées et règles d'analyse statique peuvent être partagées via le contrôle de code source pour des projets individuels ou via une infrastructure centralisée pour aider différentes équipes à suivre les mêmes normes de codage.

Les utilisateurs de Parasoft Jtest peuvent examiner les résultats de l'analyse statique directement dans l'IDE (Eclipse, IntelliJ, VS Code), présentés sous forme de résultats exploitables dans les vues Finding et Finding Details. Les résultats d'analyse peuvent également être collectés et analysés dans PAO Parasoft pour des rapports avancés, des informations plus approfondies, des modèles de prédiction ML pour la hiérarchisation et l'attribution des résultats, et l'accès aux tendances et aux données historiques, un élément clé pour évaluer l'état de qualité du projet et fournir des données aux parties externes, telles que les auditeurs. Les résultats sont également disponibles sous forme de rapports HTML, PDF et d'extensions personnalisées.

Bénéficiez de l'approche Parasoft

Une solution intégrée pour la qualité Java

Au lieu de devoir s'intégrer à d'autres outils et solutions, Parasoft Jtest fournit tout cela, avec des tests unitaires, une couverture de code et un puissant moteur de traitement pour l'analyse et le reporting. Les outils de test fonctionnel de Parasoft sont également facilement connectés au moteur de couverture de code de Jtest pour une automatisation efficace des tests, fournissant aux utilisateurs tout ce dont ils ont besoin pour tester leurs applications Java de bout en bout.

Des informations approfondies de Smart Analytics pour évaluer rapidement les risques

Contrairement à tout autre outil commercial ou open source, Parasoft fournit un moteur unique de collecte de données et d'intelligence qui manque aux autres produits. L'intelligence économique de l'état actuel du produit, associée à des indicateurs clés de risque, permet aux équipes logicielles de se concentrer sur les domaines clés de leur produit. Sans cette possibilité, les utilisateurs doivent acquérir plusieurs produits de reporting tiers et intégrer chaque outil individuel.

Commentaires d'analyse immédiate directement dans l'EDI

Tirant parti des capacités uniques de Jtest dans l'IDE, les développeurs peuvent utiliser le mode de qualité continue pour laisser Jtest faire son travail en arrière-plan. Jtest analysera automatiquement le code et alertera les utilisateurs lorsqu'il détectera un défaut afin que les utilisateurs puissent bénéficier d'un retour immédiat dans leur flux de travail.