Tests et vérification du code
Des outils certifiés pour chaque étape du processus de vérification
Les défauts logiciels dans les systèmes critiques pour la sûreté de fonctionnement peuvent entraîner des blessures, des rappels de produits et l'échec de la certification. La vérification du code permet de s'assurer que le logiciel met correctement en œuvre son cahier des charges et fournit les preuves documentées requises par la certification.
Pourquoi la vérification du code est-elle importante ?
Dans les secteurs réglementés, vous devez prouver que les exigences sont correctement mises en œuvre. Toute lacune en matière de couverture ou de traçabilité engendre des failles qui apparaissent lors des audits de certification et retardent la mise sur le marché des produits.
Une approche complète de la vérification
Une vérification efficace combine l'analyse statique, les tests dynamiques, la mesure de la couverture et la traçabilité des exigences au sein d'un processus unique. Chaque activité génère des éléments probants qui alimentent directement le dossier de conformité.
- Analyse statique pour la détection précoce des défauts
- Tests de vérification en exécution
- Couverture pour vérifier l'exhaustivité des tests
- Traçabilité pour garantir la correction
Découvrez les outils de vérification
PC-lint Plus
PC-lint Plus offre une analyse statique approfondie et certifiée pour les bases de code C et C++, quelle que soit leur taille. Il soutient d'emblée les normes MISRA C et C++, AUTOSAR C++, CERT-C et CWE, s'intègre à pratiquement n'importe quelle chaîne de compilation et fonctionne entièrement sur site. Chaque résultat est traçable et chaque suppression est documentée.
VectorCAST
VectorCAST automatise les tests unitaires et d'intégration pour les logiciels embarqués à sûreté de fonctionnement élevée. Il prend en charge la mise en place de l'environnement de test, la génération de stubs, l'exécution sur l'hôte et la cible, la mesure de la couverture à tous les niveaux requis, y compris MC/DC, ainsi que la traçabilité bidirectionnelle des exigences. Les tests basés sur les modifications permettent de maintenir des cycles de CI courts, même avec des bases de code volumineuses.
Squore
Squore regroupe dans un tableau de bord unique les données issues de l'ensemble de la chaîne d'outils de développement, notamment les résultats d'analyses statiques, les résultats de tests, les indicateurs de couverture et les bases de données d'exigences. Il met en place des contrôles de qualité qui garantissent la visibilité des obligations de conformité au sein de toute l'équipe et de l'ensemble du projet, et fournit des analyses de tendances permettant de détecter rapidement toute détérioration.
Activités principales de vérification
Analyse statique
L'analyse statique du code examine le code source sans l'exécuter, ce qui permet de détecter précocement les défauts, les failles de sécurité et les non-respects des normes de codage. En identifiant les problèmes avant le début des tests, elle améliore la qualité du code, réduit les efforts de débogage et fournit du support pour un développement fiable et conforme aux exigences.
Vérification et tests dynamiques
La vérification et les tests dynamiques consistent à exécuter un logiciel afin d’en vérifier le comportement en exécution. En contrôlant systématiquement les composants et leurs interactions, cette approche permet de détecter les défauts à un stade précoce et de garantir le bon fonctionnement du logiciel. VectorCAST automatise ce processus pour les langages C, C++ et Ada embarqués, en fournissant les preuves de couverture structurelle et la traçabilité des exigences requises par les normes ISO 26262, DO-178C et CEI 61508.
Surveillance continue
La surveillance continue offre une vue d'ensemble de la qualité logicielle à l'échelle du projet en suivant les résultats des analyses et des tests au fil du temps. Elle permet de détecter précocement les tendances, les lacunes et les risques, ce qui facilite la prise de décisions éclairées et garantit le respect constant des objectifs de qualité à mesure que la complexité augmente.
Conçu pour les secteurs soumis à des exigences réglementaires
PC-lint Plus est certifié par exida selon les normes ISO 26262:2018 (ASIL A à D), CEI 61508:2010 (SIL 1 à 4), EN 50716 et CEI 62304. Les résultats de mesure de couverture de VectorCAST sont certifiés parle TÜVselon la norme ISO 26262 pour tous les niveaux ASIL, la norme DO-178C pour tous les niveaux DAL, y compris MC/DC pour le niveau A, la norme CEI 61508 pour tous les niveaux SIL, la norme CEI 62304 et la norme EN 50716. Les documents de certification sont inclus dans la licence standard sans frais supplémentaires. Des kits de qualification sont disponibles sur demande.
En savoir plus
Qu'est-ce que la vérification de code ?
Une définition exhaustive englobant toutes les activités, depuis l'analyse statique et les tests unitaires jusqu'à la mesure de la couverture et la traçabilité des exigences.
Vérification et validation
La distinction précise entre ces deux activités, ce que chacune d'elles apporte comme élément de preuve, et les raisons pour lesquelles elles sont toutes deux requises par l'ensemble des principales normes de sécurité.
Vérification statique et vérification dynamique
En quoi l'analyse statique et les tests dynamiques diffèrent-ils, que permettent-ils de détecter respectivement, et pourquoi le développement de systèmes critiques pour la sécurité nécessite-t-il de combiner ces deux approches ?
Pourquoi la qualité du code est-elle importante ?
Les conséquences en matière de sécurité, financières et réglementaires d'un manque de qualité des logiciels utilisés dans les secteurs de l'automobile, de l'aérospatiale, du médical et de l'industrie.
De la qualité à la conformité
Comment un processus qualité structuré permet d'obtenir naturellement la traçabilité des exigences, les données de couverture et les preuves de qualification des outils exigées par les normes.

