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

Comment gérer votre arriéré d'avertissements d'analyse statique et de dette technique

Comment gérer votre arriéré d'avertissements d'analyse statique et de dette technique Temps de lecture : 4 minutes

Une fois que les outils d'analyse statique ont été intégrés dans le flux de travail quotidien de l'équipe de développement, la phase suivante consiste à réduire l'arriéré d'alertes et la dette technique d'un projet.

Dans le cas d'un produit en cours de maintenance ou en développement, il y a probablement un arriéré important à gérer. Dans le cas d'un projet greenfield (voir le premier article de ma série d'analyse statique pour voir la discussion de ces différentes étapes du projet: Premiers pas avec l'analyse statique sans surcharger l'équipe), il y a moins d'arriéré, même si les recommandations restent les mêmes pour chaque étape de maturité.

Le meilleur point de départ pour traiter un arriéré d'avertissements est de hiérarchiser et de filtrer les résultats en fonction du résultat souhaité. En utilisant la sécurité comme exemple, il est logique de hiérarchiser l'arriéré en termes d'avertissements de sécurité, classés par criticité. Il s'agit d'une continuation de l'approche utilisée lors de la première introduction de l'analyse statique dans un projet, mais maintenant l'accent est mis sur le prochain ensemble d'avertissements digestibles que l'équipe doit analyser. Ceci est géré de plusieurs manières par Parasoft C / C ++test , comme nous le verrons ci-dessous.

Tableaux de bord pour l'analyse de haut niveau

Les tableaux de bord centralisés de rapports et d'analyse de Parasoft permettent aux développeurs et aux gestionnaires de voir l'état actuel d'un projet sous différents points de vue, et de naviguer plus en détail si nécessaire pour établir un ensemble d'avertissements pour une enquête plus approfondie. Considérez le tableau de bord suivant montrant la conformité actuelle d'un projet avec la norme de codage CERT C:

Figure 1: Un exemple de tableau de bord de portail Web. Dans ce cas, un résumé de la conformité CERT C.

À l'aide de ce portail Web, les utilisateurs peuvent approfondir l'analyse, jusqu'au niveau du fichier et du code si nécessaire, et enquêter entièrement sur les avertissements dans le portail Web ou dans un IDE. Les avertissements peuvent être classés par ordre de priorité, attribués aux développeurs, supprimés ou marqués comme faux positif à ce stade. Voir l'exemple suivant de l'explorateur Parasoft:

Figure 2: L'explorateur de violations Parasoft.

Gestion des violations des normes de codage

Dans la plupart des cas, lors de l'analyse de la source pour la conformité aux normes de codage, les violations sont signalées sous forme d'avertissements d'analyse statique. Dans un grand projet, il y aura au départ beaucoup d'avertissements, et leur gestion rapide et efficace est essentielle. L'explorateur de violations de Parasoft est l'outil clé pour naviguer, évaluer, hiérarchiser et attribuer les erreurs signalées à des fins de correction. Si une violation de règle d'analyse statique s'avère valide mais justifiable, considérée comme inoffensive ou non applicable, un développeur peut supprimer l'erreur et un écart peut être documenté. Ces écarts sont signalés à chaque niveau du projet dans le tableau de bord et la documentation de conformité.

Pour rendre possible la conformité aux normes de codage pour les projets existants, il est essentiel que les équipes se concentrent d'abord sur les règles considérées comme obligatoires. La conformité est souvent basée sur le respect des exigences obligatoires avec des violations des règles recommandées si elles sont documentées de manière appropriée. Les normes permettent aux règles d'être reclassées, si elles ne sont pas obligatoires, autorisant les violations si elles sont justifiées et documentées. Sans cela, essayer de corriger chaque violation devient irréalisable.

Parasoft permet à ses utilisateurs d'économiser de nombreuses heures de travail supplémentaires en fournissant à la direction une interface navigable pour explorer les violations et générer automatiquement des rapports pour les preuves de certification, si nécessaire. Un exemple de rapport d'écart MISRA C est présenté ci-dessous:

Figure 3: Un exemple de rapport d'écart Parasoft MISRA C.

Gestion de l'arriéré des avertissements de bogues et de sécurité

Il est important que les équipes qui adoptent l'analyse statique comprennent qu'il n'est pas nécessaire de corriger ou d'analyser tous les avertissements. Tous les avertissements ne sont pas créés égaux, de sorte que le niveau de gravité est le meilleur indicateur de l'effort à consacrer à l'examen et à la correction d'un avertissement. Poursuivre l'approche «ligne dans le sable» discutée dans le premier article de cette série, en creusant dans l'arriéré des avertissements, nous déplaçons effectivement la ligne dans le sable un peu plus loin à chaque fois.

Parasoft Jtest et Parasoft C / C ++ test permettent aux utilisateurs de hiérarchiser et de filtrer les avertissements dans l'EDI à l'aide de configurations. Par exemple, la gravité et la catégorie (type d'avertissement, par exemple lié à la sécurité) peuvent être utilisées pour créer un ensemble d'avertissements adaptés à l'analyse. Un exemple de nouvelle configuration utilisateur est illustré ci-dessous:

Figure 4: Paramètres de configuration de test personnalisés dans l'EDI.

Cette configuration peut être utilisée pour filtrer les avertissements dans l'EDI:

Figure 5: Les configurations peuvent être sélectionnées dans la vue DTP Findings de l'EDI.

Déplacer progressivement la «ligne dans le sable» pour s'attaquer à la priorité et à la catégorie les plus élevées est la meilleure approche pour faire face à un important arriéré d'avertissements. Finalement, un point limite est atteint en raison du temps et du budget, mais les équipes logicielles doivent être convaincues qu'elles ont amélioré de manière significative la qualité et la sécurité malgré tout arriéré d'avertissements restant.

Résumé

Dans un grand projet, il y aura au départ beaucoup d'avertissements, et leur gestion rapide et efficace est essentielle. Il est important que les équipes qui adoptent l'analyse statique comprennent qu'il n'est pas nécessaire de corriger ou d'analyser tous les avertissements, mais assurez-vous de sélectionner un outil qui vous permet de naviguer, d'évaluer, de hiérarchiser et d'attribuer les erreurs signalées pour la correction. Déplacer progressivement la «ligne dans le sable» pour s'attaquer à la priorité et à la catégorie les plus élevées est la meilleure approche pour faire face à un important arriéré d'avertissements.

Nouvel appel à l'action
« MISRA », « MISRA C » et le logo triangulaire sont des marques déposées de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Tous droits réservés.

Écrit par

Billy McMullin

En tant qu'architecte de solutions chez Parasoft, Billy aide les équipes à élaborer des stratégies et à établir des priorités à mesure qu'elles adoptent des pratiques de développement et de test de logiciels modernes dans leur organisation.

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