Webinaire en vedette : MISRA C++ 2023 : tout ce que vous devez savoir | Voir le séminaire

Temps de lecture: 5 minutes

Vue d'ensemble

G3 Technologies, Inc. est une organisation de télécommunications sans fil qui fournit des outils et des solutions sur mesure qui répondent aux besoins des opérateurs sans fil fixes/mobiles, des entreprises Fortune 500 et des organisations de services humanitaires.

Le projet

Les normes de qualité logicielle exceptionnellement élevées de G3 nécessitent un outil d'analyse de code statique capable d'analyser le code de manière approfondie et efficace. Avec une équipe de développement en expansion et des bases de code croissantes (une base de code dépassant 11 millions de lignes de code), G3 avait besoin d'un outil d'analyse statique automatisé et évolutif capable de les aider à trouver et à corriger les défauts le plus tôt possible.

L'analyse statique est une partie importante de la politique de qualité logicielle de G3 car elle permet à l'entreprise de détecter les défauts le plus tôt possible dans le cycle de développement et d'éviter les coûts en aval associés à la détection de bogues à un stade avancé. L'analyse statique allège le fardeau des testeurs car elle permet aux développeurs de trouver et de corriger les défauts avant qu'ils n'atteignent le contrôle qualité. Plus important encore, un outil d'analyse statique de haut calibre empêche les bogues d'entrer dans le pipeline de production. Cela permet à G3 d'éviter des versions de correctifs coûteuses, qui peuvent nuire à la réputation de l'entreprise et charger les équipes de développement et de test avec le travail supplémentaire de vérification du correctif.

L'approche

G3 recherchait une nouvelle solution d'analyse statique. Leur précédent fournisseur d'analyses statiques semblait plus intéressé à se concentrer sur la qualité globale des logiciels et à se concentrer sur la cybersécurité. G3 voulait un partenaire d'analyse statique prêt à travailler avec eux sur la mise en œuvre d'améliorations pour aider G3 à atteindre ses objectifs de qualité logicielle, et le partenaire précédent semblait réticent à travailler avec G3 sur l'amélioration des aspects qualité de leur outil. Après avoir évalué plusieurs fournisseurs commerciaux d'analyse statique, G3 a choisi Parasoft.

Les Résultats

Un haut standard de qualité chez G3

Les normes de qualité logicielle exceptionnellement élevées de G3 nécessitent un outil d'analyse statique capable d'analyser le code de manière approfondie et efficace. Avec une équipe de développement en expansion et des bases de code croissantes (une base de code dépassant 11 millions de lignes de code), G3 avait besoin d'un outil d'analyse statique automatisé et évolutif capable de les aider à trouver et à corriger les défauts le plus tôt possible. L'approche proactive de G3 pour détecter autant de bogues que possible dès le début permet à l'entreprise de fournir rapidement le logiciel de haute qualité auquel ses clients s'attendent.

Étant donné que G3 écrit une grande partie de ses logiciels en C++, trouver un outil d'analyse statique capable d'analyser correctement son code était encore plus intimidant. C++ permet aux développeurs d'atteindre les niveaux de performance les plus élevés par rapport aux autres langages de haut niveau. Le compromis, cependant, est qu'une analyse de code plus rigoureuse et une attention méticuleuse à la conception sont nécessaires pour éviter les bogues liés à la stabilité et à la sécurité.

Test C/C++ de Parasoft s'est démarqué par sa capacité à analyser leur code C++ complexe. Après avoir déployé les outils d'analyse statique de Parasoft, G3 a immédiatement remarqué une légère augmentation de la stabilité logicielle de plusieurs de ses applications logicielles. Le nombre de plantages logiciels pendant la phase de développement, par exemple, a été considérablement réduit, ce qui indique que Parasoft aidait G3 à éliminer les longs efforts de débogage. En conséquence, G3 a pu continuer à fournir des logiciels de haute qualité tout en respectant ses délais.

Au cours des 6 premiers mois de déploiement des outils d'analyse statique de Parasoft, G3 a résolu environ 50,000 XNUMX violations, dont certaines étaient des bogues critiques tels que des problèmes de conversion de type, des variables inutilisées et des déréférencements de pointeur nul.

Andrew Park, vice-président de l'ingénierie chez G3, a compris que les coûts associés aux défauts de disponibilité glissant dans la production pourraient être extrêmement préjudiciables à la réputation de l'entreprise de fournir des versions de logiciels presque sans bogues. Dans les mots de Park,

« Développer, tester et déployer des correctifs sur les systèmes opérationnels implique généralement des coûts beaucoup plus élevés que de le faire correctement du premier coup… Parasoft est l'un de nos partenaires clés pour s'assurer que nous le faisons correctement du premier coup. Nous utilisons 1083 règles Parasoft dans nos processus d'intégration continue et ne permettons pas aux logiciels d'atteindre les systèmes de production tant que tous les défauts de Parasoft n'ont pas été résolus.

Personnalisation des règles d'analyse statique

G3 avait également besoin de pouvoir personnaliser les règles d'analyse statique afin de répondre à leurs besoins spécifiques. Plutôt que de suivre une seule norme de codage prête à l'emploi, G3 utilise une gamme de normes et de vérificateurs personnalisés pour mettre en œuvre sa politique de codage. De nombreuses solutions sur le marché se concentrent étroitement sur des aspects spécifiques du code, tels que la cybersécurité, mais G3 recherchait une solution d'analyse statique capable de se concentrer sur la sécurité et la qualité globale du logiciel. Parasoft a permis à G3 de mapper facilement les règles d'analyse statique à leurs normes de codage internes, résultant en une solution d'analyse statique très complète spécifique au code de G3.

Un partenaire technologique collaboratif

Enfin, G3 recherchait plus qu'un simple fournisseur : ils cherchaient un partenaire qui pourrait travailler avec G3 dans un avenir prévisible. Leur fournisseur précédent n'était pas disposé à travailler avec G3 pour améliorer leur solution d'analyse statique. Mais G3 reconnaît que la collaboration avec un fournisseur d'outils d'analyse statique sur les améliorations permet non seulement à G3 d'analyser plus efficacement le code, mais garantit également que le fournisseur est disponible pour aider G3 à fournir un produit de haute qualité à long terme.

Une culture collaborative et un engagement à aider G3 à atteindre ses objectifs de qualité logicielle étaient l'un de leurs incontournables, et G3 a trouvé ces deux caractéristiques avec Parasoft. Une étincelle,
a expliqué:

« Bien que Parasoft soit clairement de premier plan, son personnel a manifesté une réelle envie de nous entendre sur la manière dont il pourrait améliorer son produit. Leur culture d'entreprise correspondait exactement à ce que je recherchais chez un partenaire.

La documentation complète de Parasoft augmente quant à elle la perspicacité globale de l'équipe de développement de G3. Leur capacité à afficher les violations d'analyse statique dans une seule vue a permis d'améliorer les capacités de codage même du personnel expérimenté.

Avec Parasoft, G3 est capable de trouver et de corriger les défauts difficiles à trouver au début du cycle de développement, de réduire à zéro le nombre de plantages en production et d'améliorer le style de codage global de son équipe de développement.

Passez à l'étape suivante

Découvrez un cadre efficace à utiliser lors de la sélection d'une solution d'analyse statique.

  • Industrie: Télécommunications
  • Site : Colombie, Maryland
  • Solution: Test C / C ++