Optez pour une voie plus rapide et plus intelligente vers l'automatisation des tests C/C++ pilotée par l'IA. Découvrez comment >>
WEBINAIRE
Les voitures ne se définissent plus par leurs moteurs et leur structure métallique, mais par l'intelligence de leurs logiciels. À mesure que les véhicules évoluent vers des systèmes pilotés par logiciel, les tests doivent eux aussi évoluer : devenir continus, automatisés et intelligents afin de répondre aux exigences modernes en matière de sécurité et de conformité.
À retenir
Le changement majeur dans l'ingénierie automobile réside dans le passage aux véhicules pilotés par logiciel. Les voitures ne sont plus de simples systèmes mécaniques ; elles sont désormais pilotées par des millions de lignes de code qui connectent les systèmes avancés d'aide à la conduite (ADAS), le groupe motopropulseur et l'infodivertissement au sein d'un écosystème dynamique unique. Cette complexité engendre d'énormes défis en matière de tests, que les méthodes traditionnelles ne permettent pas de relever.
Les véhicules modernes exigent des tests automatisés, continus et intelligents pour suivre le rythme des mises à jour constantes et de l'évolution des logiciels. L'IA et l'apprentissage automatique pilotant désormais des fonctions critiques, la vérification doit garantir un comportement prévisible et sûr. Ceci, combiné à des normes strictes comme ISO 26262 pour la sécurité et ISO 21434 En matière de cybersécurité, les tests ne peuvent pas constituer une étape finale ; ils doivent s'inscrire dans un processus continu, tout au long du cycle de vie, qui s'étend même au-delà de la salle d'exposition grâce aux mises à jour à distance.
Les tests modernes pour les véhicules à logiciel commencent par un approche « décalage vers la gauche », en détectant les problèmes au plus tôt avec analyse statique et la tests unitaires automatisésDes outils comme C/C++test CT permettent de vérifier le code au fur et à mesure de son écriture, garantissant ainsi sécurité et fiabilité dès le départ. Les tests peuvent également être générés automatiquement. lié aux exigenceset vérifié la couverture.
Grâce à l'automatisation CI/CD et aux analyses basées sur l'IA, les tests sont désormais continus et intelligents. Chaque modification de code est analysée instantanément, la conformité est maintenue à jour et l'IA aide à prioriser les correctifs, permettant ainsi de suivre le rythme et la complexité des logiciels automobiles modernes.
Les tests modernes s'épanouissent dans des environnements qui favorisent la collaboration et la transparence. Des méthodologies comme Scrum permettent aux équipes de rester alignées et adaptables, tandis que les pipelines DevOps automatisent les processus de compilation, de test et d'analyse en continu.
Les flux de travail DevOps et les pipelines CI/CD garantissent une vérification continue de la qualité, de la validation du code au déploiement, en décloisonnant le développement, l'assurance qualité et la conformité. Il en résulte un flux de travail unifié et piloté par les données qui améliore la productivité, réduit les risques et accélère l'innovation.
Plusieurs méthodes de test fondamentales sont essentielles pour garantir la qualité du code :
GoogleTest est un outil très apprécié des développeurs C++ pour sa simplicité, mais il ne répond pas, à lui seul, aux exigences critiques en matière de sécurité. Parasoft C/C++test CT comble cette lacune en intégration avec GoogleTest pour répondre aux exigences rigoureuses, de la norme ISO 26262.
Voici comment cela fonctionne:
Cela transforme les tests unitaires, d'une simple tâche, en une activité stratégique contribuant aux objectifs de sécurité et de conformité. L'utilisation de GoogleTest en tant que framework open source vous libère des contraintes des outils propriétaires, vous offrant ainsi une grande flexibilité tout en répondant aux exigences critiques de sécurité grâce à des solutions intégrées. Parasoft travaille également à proposer prochainement des outils entièrement certifiés pour le développement de systèmes critiques.
L'IA rend les tests plus intelligents, plus rapides et plus efficaces. Voici quelques exemples clés de son utilisation :
L'intelligence artificielle (IA) rend les véhicules plus intelligents, grâce à des fonctionnalités telles que le maintien de voie, le régulateur de vitesse adaptatif et même la conduite autonome. Cependant, son déploiement dans les voitures soulève des défis, comme le problème de la « boîte noire » qui complique la conformité à la norme ISO 26262, et la nécessité de faire fonctionner l'IA sur du matériel embarqué aux ressources limitées.
Pour remédier à cela, les modèles d'IA sont compressés (par exemple, de 32 bits à 4 bits de précision) et optimisés pour des matériels spécialisés. Des normes comme l'ISO/PAS 8800 encadrent le développement d'une IA sûre et certifiable pour les véhicules. La vérification est cruciale et implique l'optimisation des modèles, des tests rigoureux et une conception système robuste. Les modèles d'IA optimisés sont souvent « figés » pour garantir un comportement cohérent, associés à des garde-fous basés sur des règles pour prévenir les actions dangereuses et utilisant des systèmes redondants pour assurer la résilience. Des plateformes comme Drive de Nvidia permettent un comportement déterministe de l'IA dans les véhicules de série, utilisé par les principaux constructeurs automobiles.
La conception de véhicules autonomes sûrs et sécurisés repose sur l'association de méthodologies éprouvées et d'une automatisation moderne. La norme ISO 26262 encadre l'analyse des dangers et des risques, tandis que les normes UN R155 et R156 définissent les cadres d'assurance de la cybersécurité. Les techniques TARA de la norme ISO 21434, appuyées par des outils tels que TARA de MITRE, permettent de cartographier les vulnérabilités, d'identifier les menaces et de définir des mesures d'atténuation tout au long du cycle de vie du véhicule.
En intégrant la sûreté et la sécurité à chaque étape du modèle en V, les équipes s'assurent que les SDV restent à la fois fonctionnellement sûrs et cyber-résilients, de la conception au déploiement.