Découvrez GoogleTest certifié TÜV avec Agentic AI pour les tests C/C++ !
Plus de détails »
Blog Parasoft
Les systèmes avancés d'aide à la conduite (ADAS) sont un élément clé des véhicules modernes définis par logiciel (SDV). Respecter les normes de sécurité n'est pas chose aisée. Lisez la suite pour découvrir le rôle essentiel de l'analyse de code statique pour la sécurité des ADAS.
Aller à la section
Les accidents récents impliquant des véhicules équipés de systèmes de conduite automatisée (SCA) et d'aides à la conduite (ADAS) ont suscité un renforcement du contrôle réglementaire. Entre juin 2021 et juin 2024, près de 4 000 incidents impliquant ces systèmes ont été recensés.
Pour mettre les choses en contexte, des millions de lignes de code guident la prise de décision en temps réel dans les véhicules autonomes, de sorte que même le plus petit défaut pourrait entraîner de graves conséquences sur la route.
Cette complexité, conjuguée au renforcement des normes de sécurité telles que les normes ISO 26262, ISO 21448, MISRA et le règlement UNECE n° 157, exige une approche proactive de la qualité logicielle. L’analyse statique du code, associée à des tests automatisés, constitue un élément essentiel de ce processus.
Dans cet article, nous examinons comment l’analyse de code statique et l’automatisation du CI/CD tout au long du cycle de développement peuvent améliorer la sécurité des véhicules critiques pour les logiciels.
L'ADAS est une fonctionnalité logicielle majeure des véhicules utilitaires légers. Il utilise un logiciel avancé pour fournir des fonctions d'assistance à la conduite essentielles, notamment l'évitement des collisions, le régulateur de vitesse adaptatif et le stationnement automatisé.
Pour améliorer les performances du système, permettre une communication fluide entre les composants et assurer une coordination en temps réel entre divers sous-systèmes tels que le freinage, la direction, le contrôle de l'accélérateur et d'autres fonctions critiques, ADAS s'appuie sur des architectures électroniques centralisées.
Ces architectures utilisent des unités de calcul centrales hautes performances pour traiter les données des capteurs, effectuer la fusion des capteurs et exécuter des prises de décision avancées afin d'améliorer la sécurité et l'automatisation des véhicules.
Pour offrir des fonctionnalités avancées sur les SDV, ADAS propose les fonctionnalités suivantes.
Le système ADAS utilise un radar, un LiDAR et des caméras pour détecter les collisions potentielles. Le système peut avertir le conducteur ou appliquer de manière autonome un freinage d'urgence pour réduire le risque de collision par l'arrière.
Le régulateur de vitesse adaptatif et l'assistance au maintien de voie surveillent en permanence les conditions de circulation, ajustent la vitesse et la direction pour maintenir les distances de sécurité et maintenir les véhicules centrés sur leur voie. Ces systèmes effectuent des réglages en temps réel pour assurer un meilleur contrôle dans les situations de circulation dynamiques.
En utilisant la fusion de capteurs et la vision par ordinateur, les ADAS peuvent identifier les obstacles, les panneaux de signalisation, les marquages au sol et les piétons, ce qui renforce la sécurité lors de la conduite de nuit et par faible visibilité.
CommunicationLa communication V2X permet aux véhicules d'interagir avec les infrastructures à proximité, les piétons et les autres véhicules, améliorant ainsi la connaissance de la situation et aidant à prévenir les accidents avant qu'ils ne se produisent.
ADAS intègre des cartes haute définition et un GPS pour fournir une navigation en temps réel, un guidage au niveau de la voie et une optimisation de l'itinéraire, garantissant ainsi des déplacements plus efficaces et plus sûrs.
Comme tout système logiciel essentiel à la sécurité, la création de systèmes avancés d'assistance à la conduite est une tâche complexe. Ses cas d'utilisation doivent en grande partie répondre à des questions essentielles à la sécurité, telles que :
Par conséquent, pour qu’un système ADAS soit commercialisé, il doit fonctionner parfaitement dans des scénarios de conduite imprévisibles, où même des erreurs mineures peuvent entraîner des conséquences catastrophiques.
Par conséquent, l’un des principaux défis auxquels sont confrontés les développeurs est de garantir la sécurité fonctionnelle, comme le soulignent des normes telles que la norme ISO 26262.
Cette norme définit les mesures de sécurité pour les systèmes électroniques des véhicules et exige des processus rigoureux pour atténuer les risques liés aux pannes matérielles ou logicielles. Par exemple, elle impose l'attribution de niveaux d'intégrité de sécurité automobile (ASIL) aux dangers potentiels et la mise en œuvre de conceptions tolérantes aux pannes pour atteindre ces objectifs de sécurité.
Assurer des performances en temps réel est un autre obstacle auquel les développeurs doivent faire face. Les systèmes ADAS traitent de grandes quantités de données de capteurs, telles que celles des caméras, des LiDAR, des capteurs à ultrasons, des capteurs infrarouges, des récepteurs GNSS et des IMU, pour prendre des décisions en une fraction de seconde. Des normes telles que la norme ISO 21448 (Sécurité des fonctionnalités prévues) abordent ce problème en se concentrant sur la minimisation des risques liés aux limitations du système dans des environnements complexes.
La conformité aux réglementations en constante évolution ajoute encore à la complexité. Le règlement n° 157 de la CEE-ONU, par exemple, régit les systèmes automatisés de maintien de voie (ALKS), exigeant des tests rigoureux dans des conditions spécifiques. De même, la norme ISO/SAE 21434 garantit des mesures de cybersécurité contre les attaques potentielles sur les systèmes des véhicules.
Pour surmonter ces défis, les organisations ont recours à des plateformes de tests automatisées comme Parasoft, qui aident les équipes de développement à détecter les erreurs avant que les codes ne soient poussés dans un environnement de production.
Les solutions de test automatisées de Parasoft sont conçues sur mesure pour assurer la conformité aux normes automobiles telles que ISO 26262 , ISO 21434 , AUTOSAR C++14 et MISRA.
Par exemple, grâce à Parasoft C/C++test, les équipes peuvent effectuer une analyse statique et une analyse dynamique pour détecter les défauts et les vulnérabilités dès le début du cycle de développement, et garantir la conformité grâce à des tableaux de bord personnalisables et des rapports détaillés.
Cette approche permet non seulement d’accélérer la mise sur le marché, mais également de garantir la livraison de logiciels ADAS sûrs, sécurisés, fiables et conformes.
L’analyse de code statique joue un rôle crucial pour garantir la fiabilité du logiciel en détectant les bogues, les vulnérabilités et les problèmes de conformité avant même l’exécution du code.
Contrairement aux tests dynamiques, qui nécessitent l'exécution du logiciel, l'analyse statique inspecte le code au repos et identifie les défauts dès le début du développement. Cela permet de détecter les défaillances potentielles avant qu'elles ne deviennent des problèmes coûteux. Cela améliore également la qualité du code, la maintenabilité et la sécurité, ce qui en fait un outil essentiel pour les développeurs ADAS.
Les logiciels ADAS reposent sur des algorithmes complexes qui traitent les données des capteurs en temps réel. L'analyse du flux de contrôle garantit le bon déroulement de l'exécution, tandis que l'analyse du flux de données suit l'évolution des variables tout au long du programme. Ces techniques permettent de détecter les conditions de concurrence, les fuites de mémoire et les comportements inattendus — des problèmes qui pourraient passer inaperçus jusqu'à la survenue d'une défaillance réelle.
La norme ISO 26262 et les normes de codage pour les logiciels automobiles (MISRA) définissent des exigences strictes pour le développement des ADAS. L'analyse statique automatise la conformité en appliquant les normes de codage, réduisant ainsi le risque de problèmes identifiés sur le terrain et la nécessité de retouches coûteuses.
L'IA transforme les flux de travail de développement de logiciels embarqués, et les capacités pilotées par l'IA se développent dans l'ensemble de l'écosystème de la qualité logicielle.
Les solutions modernes d'analyse statique combinent des technologies d'analyse statique avancées, la vérification basée sur des règles, l'analyse des flux de contrôle et de données, ainsi que des flux de travail assistés par l'IA afin d'améliorer la qualité, la sûreté, la sécurité et la conformité des logiciels. Parasoft C/C++test identifie automatiquement les vulnérabilités, les violations des normes de codage, les défauts et les problèmes de maintenabilité dans les applications C et C++ embarquées.
Les flux de travail d'IA agentique compatibles avec MCP s'intègrent aux environnements de développement et aux pipelines CI/CD pour faciliter la résolution des problèmes. Grâce à des compétences d'IA configurables, les agents d'IA :
Les équipes d'ingénierie bénéficient de :
Pour soutenir les stratégies de vérification continue, les solutions Parasoft s'intègrent aux pipelines CI/CD et aux écosystèmes de développement embarqués afin de permettre l'analyse automatisée, l'application des politiques, la production de rapports de conformité et la correction assistée par l'IA tout au long du cycle de vie du développement logiciel.
Le développement de systèmes ADAS sûrs et fiables exige plus que de l'innovation. Il requiert des tests rigoureux, une validation des performances en temps réel et une stricte conformité réglementaire.
Face aux préoccupations croissantes en matière de sécurité et à la multiplication des rappels de véhicules, les constructeurs automobiles doivent aller au-delà du simple respect des normes pour garantir le fonctionnement irréprochable de ces systèmes sur la route. Les solutions de test automatisées de Parasoft, notamment l'analyse statique assistée par IA, la validation par simulation et la vérification continue de la conformité, jouent un rôle crucial pour combler l'écart entre le développement et la sécurité réelle.
Comment accélérer la conformité ISO/SAE 21434 grâce aux tests logiciels automatisés