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

Le test Parasoft C / C ++ 2020.1 est arrivé

Le test Parasoft C / C ++ 2020.1 est arrivé Temps de lecture : 6 minutes

Présentation de la première version du test Parasoft C / C ++ en 2020: 2020.1! Vous remarquerez peut-être que le schéma de gestion des versions est différent. Dans le passé, tous les outils Parasoft étaient versionnés avec des numéros incrémentiels. À partir de cette année, les versions de toutes les versions comprendront l'année suivie du numéro de la version de cette année.

Au cours des derniers mois, notre équipe a pris le temps d'analyser comment améliorer le test C / C ++ pour s'adapter au mieux aux environnements en évolution. Nous avons créé de nouvelles fonctionnalités et des améliorations des fonctionnalités de base existantes. Le test C / C ++ 2020.1 apporte une collection de nouvelles fonctionnalités passionnantes.

Prise en charge d'environnements de développement en évolution

L'évolution des environnements de développement s'accélère. Les nouveaux systèmes avancés qui sont souvent basés sur l'IA nécessitent beaucoup de code source, qui ne peut pas être développé à l'aide des mêmes outils, méthodologies et flux de travail du passé. Avec le test C / C ++ 2020.1, nous visions à s'adapter à ces progrès évolutifs et avons produit un ensemble d'offres qui font exactement cela.

Extension de code Visual Studio pour l'analyse statique

Les équipes de développement ont tendance à passer des IDE lourds aux éditeurs légers et extensibles. En partie parce que de grandes bases de code contenant des millions de lignes de code sont trop difficiles pour les IDE traditionnels.

Visual Studio Code est un excellent exemple d'éditeur léger extensible. Dans le Enquête annuelle des développeurs Stack Overflow pour 2019, VS Code a complètement dominé la catégorie des environnements de développement les plus populaires. C'est pourquoi je suis heureux d'annoncer Extension d'analyse statique de test C / C ++ pour l'éditeur de code Visual Studio.

Si vous développez avec VSCode, vous n'avez plus besoin de quitter votre éditeur préféré pour exécuter une analyse statique, examiner les résultats ou corriger les violations signalées.

Vous essayez peut-être d'atteindre la conformité MISRA ou AUTOSAR C ++? Tout peut être fait à partir de VSCode.

L'extension de test C / C ++ pour VSCode peut être trouvée dans la distribution standard de test C / C ++ (fichier vsix) ou accessible à partir du Marché de code Visual Studio. Vous pouvez en savoir plus sur les fonctionnalités de l'extension dans notre prochain article de blog VSCode.

Déploiements ancrés

Les déploiements conteneurisés d'outils logiciels sont le nouveau mantra des équipes de développement. Tu peux:

  • Prise en charge transparente des nouvelles versions de compilateur.
  • Fournissez des correctifs de sécurité aux bibliothèques.
  • Embarquez 25 nouveaux développeurs à la volée.

Ces tâches et bien d'autres tâches fastidieuses et chronophages sont simplifiées grâce aux conteneurs. Ils sont formidables à bien des égards.


La version du test C / C ++ 2020.1 offre une collection d'améliorations qui facilitent son utilisation avec les conteneurs Docker.

Le test C / C ++ prend en charge tout compilateur déployé dans le conteneur ainsi que le déploiement de l'outil de test Parasoft C / C ++ lui-même dans le conteneur. C'est facile de configurer le test Parasoft C / C ++ pour qu'il fonctionne dans un environnement conteneurisé pour l'analyse statique et les tests unitaires. Vous pouvez également créer une image de conteneur prête à exécuter une analyse statique.

Envie d'en savoir plus? Consultez notre webinaire, Déploiements conteneurisés de chaînes d'outils de développement intégrées.

Extension CMake

CMake est probablement l'outil le plus populaire pour gérer les builds et les tests, empaqueter les logiciels et les déployer dans le monde C / C ++. Les équipes adorent CMake car il fait abstraction des cibles de build et génère automatiquement les scripts de build pour plusieurs moteurs de build. Il est également important de mentionner qu'il s'adapte facilement aux grands projets.

Parasoft C / C ++ test 2020.1 propose une extension CMake, qui simplifie l'introduction de tests logiciels automatisés dans le processus de construction.

L'analyse statique peut également être intégrée sans effort à l'aide de fichiers JSON d'informations de compilation générés par CMake. Découvrez comment dans notre article de blog, Utilisation du test Parasoft C / C ++ avec CMake pour l'analyse statique.

Test unitaire de test C / C ++ avec CMake est désormais plus facile. Des cibles de test unitaire spéciales qui génèrent automatiquement l'infrastructure de test nécessaire peuvent être définies dans les fichiers CMakeLists.txt avec une fonction dédiée fournie avec l'extension de test C / C ++.

Booster les tests unitaires de création

La création de tests unitaires productifs a toujours été un défi. La conformité aux normes de sécurité fonctionnelle exige des logiciels de haute qualité, ce qui entraîne le besoin de suites de tests qui affectent et produisent des statistiques de couverture de code élevée. Les équipes ont besoin de cas de test unitaires qui les aident à atteindre une couverture de code à 100%.

C'est plus facile à dire qu'à faire. Analyser les branches du code et essayer de trouver les raisons pour lesquelles certaines sections de code ne sont pas couvertes continue de voler des cycles aux équipes de développement.

L'innovation Parasoft résout le problème

La publication du test C / C ++ introduit la toute nouvelle fonctionnalité qui aide à résoudre les lacunes de couverture dans le code. Parasoft a découvert comment utiliser l'analyse de code statique avancée (analyse de flux de données et de contrôle) pour trouver des valeurs pour les paramètres d'entrée requis pour exécuter des lignes spécifiques de code non couvert.


Sélectionnez la ligne de code que vous souhaitez couvrir et le conseiller en couverture vous indiquera les valeurs d'entrée, les variables globales et les appels externes dont vous avez besoin pour stimuler le code et obtenir une couverture.

Parasoft a présenté cette capacité au Monde embarqué 2020 événement, et il a été très bien accueilli par le public de la conférence ainsi que par les praticiens de l'industrie qui ont visité notre stand.

Hiérarchisation automatique des résultats d'analyse statique basée sur l'apprentissage automatique

L'un des plus grands défis de l'adoption de l'analyse statique est la capacité de distinguer les violations importantes des violations moins importantes. Les problèmes critiques doivent être traités en premier. Les résultats de faible priorité ou bruyants doivent être ignorés ou la réaction doit être reportée jusqu'à ce que les résultats critiques soient traités.

Dans la version C / C ++ test 2020.1, Parasoft introduit une fonctionnalité innovante basée sur l'IA et le ML pour améliorer l'analyse statique avec une capacité de hiérarchisation automatisée. La fonctionnalité étend les capacités de base du PAO de Parasoft en apprenant de l'interaction du développeur avec les résultats de l'analyse statique et applique le modèle entraîné pour hiérarchiser automatiquement les violations nouvellement trouvées.

Cette innovation permet aux organisations d'améliorer immédiatement leur productivité en réduisant les efforts manuels dans leurs efforts de qualité logicielle et en s'assurant qu'elles consacrent leur temps précieux à ce qui est le plus important.

MISRA C: 2012 amendement 2 mis à jour

MISRA C: 2012 reste la norme de codage la plus populaire pour le langage de programmation C. Il a été récemment mis à jour pour prendre en charge l'évolution du langage C. MISRA C: 2012 Amendement 2 prend désormais en charge les normes de codage C11 et C18.

L'amendement 2 adopte l'approche restrictive et interdit l'utilisation des nouvelles extensions linguistiques, qui ne sont pas encore complètement analysées pour leur impact sur la sécurité - il existe de nouvelles lignes directrices à cet égard. Des directives plus spécifiques sont attendues à l'avenir.

Parasoft est le premier fournisseur à prendre en charge MISRA C: 2012 Amendement 2. La publication du test C / C ++ 2020.1 couvre l'ensemble du nouvel ensemble de directives.

Cadre de test unitaire amélioré pour mieux prendre en charge les tests du code au niveau du noyau

Les appareils embarqués avec divers capteurs et actionneurs deviennent de plus en plus compliqués et le code source des pilotes devient également complexe. De nombreuses équipes ont du mal à construire le processus de test qui leur permettrait de certifier leurs projets pour la sécurité fonctionnelle.

Nous avons reçu plusieurs demandes pour aider à automatiser le processus. Notre cadre de test unitaire amélioré a été utilisé avec succès pour tester le code du noyau Linux et LynxOS 178.

Ensemble de règles AUTOSAR C ++

Le test Parasoft C / C ++ fournit une couverture à 100% pour les directives automatisées requises et occupe la première place dans la prise en charge de la norme de codage AUTOSAR C ++. Parasoft continue de travailler sur quelques contrôleurs pour la catégorie partiellement automatisée.

C'est la catégorie de la norme qui ne peut pas être entièrement remplacée par l'analyse statique (en raison de la nature des lignes directrices), mais il y a beaucoup d'espace où l'outil peut aider et réduire la quantité de frais généraux manuels. La version Parasoft C / C ++ test 2020.1 apporte cinq nouveaux vérificateurs pour la norme de codage C ++ la plus importante.

Préparation au test C / C ++ 2020.2

Avec la crise sanitaire mondiale actuelle, nous vivons tous un moment rare de l'histoire. Les gens de Parasoft ont travaillé dur depuis leur siège social pour livrer avec succès la version C / C ++ text 2020.1 avec toutes les fonctionnalités que nous avions promises. Nous restons concentrés et avons déjà commencé à travailler sur la prochaine version. 2020.2 arrive en octobre. Restez à l'écoute!

« 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

Mirosław Zielinski

Chef de produit pour les solutions de test embarquées de Parasoft, les spécialités de Miroslaw comprennent le C / C ++, les RTOS, l'analyse de code statique, les tests unitaires, la gestion de la qualité des logiciels pour les applications critiques pour la sécurité et la conformité des logiciels aux normes de sécurité.

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