Découvrez comment la solution Parasoft Continuous Quality permet de contrôler et de gérer les environnements de test pour fournir des logiciels de haute qualité en toute confiance. Inscrivez-vous pour la démo >>

BLOG

Outils d'analyse statique : quand moins c'est plus

Outils d'analyse statique : quand moins c'est plus Temps de lecture : 3 minutes

L'analyse de code statique (ou analyse statique) est une activité de test de logiciel dans le développement de logiciels, dans laquelle le code source est analysé pour des constructions connues pour être associées à des erreurs logicielles ou des vulnérabilités de sécurité. Lorsqu'une construction à haut risque est détectée, l'outil d'analyse statique signale une violation que le développeur doit afficher et corriger.

L'exécution d'une analyse statique sur le bureau offrira certains avantages et peut fonctionner pour de petites équipes ou de petits projets ; Cependant, dans les grandes organisations, l'analyse statique doit également être automatisée dans le cadre des versions nocturnes et de l'intégration continue. Lorsqu'elle est mise en œuvre en tant que partie intégrante du processus de développement, l'analyse de votre code avec une analyse statique offre un certain nombre d'avantages. L'exécution constante d'analyses statiques dès les premières étapes du projet vous permet de détecter et de corriger les défauts systémiques lorsque le coût de la remédiation est au plus bas. L'analyse statique du code vous aide à trouver et à corriger les défauts à un stade précoce, ce qui peut empêcher la récurrence des défauts systémiques en aval. Avec une politique de détection précoce, vous pouvez plus facilement mettre en œuvre une politique de prévention des défauts, ce qui réduit le taux de défauts tout au long du cycle de développement.

Cependant, lors de l'adoption de l'analyse statique dans un projet, cela peut parfois être accablant. Si vous disposez d'une base de code volumineuse, les outils d'analyse statique peuvent signaler un grand nombre de violations. Cet article présentait deux conseils pour réduire les rapports de violation d'analyse statique.

Astuce 1: Utilisez les suppressions de l'outil d'analyse statique pour les exemptions dans des situations spécifiques

Dans certains cas, vous pouvez être déterminé à suivre une règle d'analyse statique, mais souhaitez autoriser des exemptions dans certaines circonstances. Par exemple, vous avez peut-être une règle qui nécessite un niveau supplémentaire de validation dans le code. Supposons que vous ayez une certaine méthode avec un code critique pour les performances qui est appelé des centaines de fois par minute et que vous avez déjà vérifié qu'un niveau de validation approprié est effectué avant que cette méthode particulière ne soit appelée. Ou supposons que l'analyse basée sur les flux vous avertisse d'un problème grave dans un chemin dont vous êtes certain à 100% qu'il ne peut pas être pris dans l'application intégrée. C'est là que les suppressions d'analyse statique sont utiles.

Les suppressions sont idéales pour les situations où vous souhaitez vérifier quelque chose, mais que vous ne vous souciez pas des problèmes signalés dans des situations exceptionnelles. Avec les suppressions, vous pouvez continuer à rechercher un problème critique sans recevoir de messages répétés concernant vos violations intentionnelles de règles d'analyse statique. Si vous ne souhaitez pas recevoir de messages d'erreur pour des violations d'une règle spécifique, nous vous recommandons de désactiver complètement la règle (voir notre précédent blog sur le nettoyage de votre ensemble de règles d'analyse statique).

Vous pouvez généralement définir des suppressions à partir de l'interface graphique de l'outil d'analyse statique, d'un fichier de configuration ou du code source lui-même. Lorsque les suppressions sont définies dans le code source:

  • Vous vous assurez que les mêmes suppressions sont appliquées chaque fois que vous ou un membre de l'équipe analysez ce code.
  • Vous pouvez ajouter des commentaires de code expliquant chaque suppression afin que la raison de chaque suppression soit toujours claire lorsque vous ou les membres de l'équipe révisez ou modifiez le code.
  • Vous bénéficiez d'un contrôle précis sur les règles appliquées au niveau du fichier, de la classe ou de la ligne.

Vous pouvez généralement supprimer les violations d'une règle spécifique, d'un certain nombre de règles ou de toutes les violations d'une catégorie spécifique. Vous pouvez également exempter certaines sections de code de toute analyse statique (plus d'informations à ce sujet dans le prochain conseil).

Astuce 2: Empêchez votre outil d'analyse statique de vérifier les fichiers problématiques ou les morceaux de code

Parfois, il n’est tout simplement pas logique d’exécuter des outils d’analyse statique sur certains fichiers, par exemple des fichiers générés automatiquement ou des fichiers hérités que vous n’avez pas prévu de toucher. Dans ces cas, vous devez empêcher l'analyse de ces fichiers. C'est encore un autre moyen de vous assurer que vos résultats ne sont pas encombrés d'un tas de violations que vous ne prévoyez pas de corriger.

Il y a quelques façons de le faire. Vous pouvez configurer des filtres de chemin pour exclure les fichiers que vous ne souhaitez pas vérifier ou inclure uniquement ceux que vous souhaitez vérifier. Vous pouvez également configurer votre outil pour ignorer les fichiers contenant un certain commentaire, tel qu'un commentaire indiquant un code généré automatiquement.

D'autres façons de concentrer la vérification de votre outil d'analyse statique incluent:

  • Ajout de marqueurs pour indiquer des blocs de code spécifiques que vous souhaitez vérifier dans des fichiers autrement exemptés.
  • Excluant certaines méthodes dans des fichiers qui sont par ailleurs analysés.
  • Vérifier uniquement les fichiers qui n'ont pas été ajoutés ou modifiés depuis une certaine date limite.
  • Vérifier uniquement les fichiers qui ont été ajoutés ou modifiés après une «date limite» ou dans un certain nombre de jours.

Pour en savoir plus sur l'analyse statique Parasoft, rendez-vous sur : https://www.parasoft.com/solutions/static-code-analysis

Écrit par

Parasoft

Les outils de test de logiciels automatisés de pointe de Parasoft prennent en charge l'ensemble du processus de développement logiciel, depuis le moment où le développeur écrit la première ligne de code jusqu'aux tests unitaires et fonctionnels, jusqu'aux tests de performance et de sécurité, en exploitant des environnements de test simulés en cours de route.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.