Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>
Aller à la section
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
Aller à la section
Les récents accidents impliquant des véhicules équipés de systèmes de conduite automatisée (ADS) et d'ADAS ont fait l'objet d'une surveillance réglementaire accrue. Entre juin 2021 et juin 2024, près de 4,000 XNUMX incidents ont été rapportés impliquant ces systèmes.
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é, couplée à un resserrement les normes de sécurité Tout comme les normes ISO 26262, ISO 21448, MISRA et le règlement UNECE n° 157, la norme exige une approche proactive de la qualité logicielle. L'analyse statique du code associée à des mesures de test automatisées sont des éléments essentiels 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 tests automatisées de Parasoft sont adaptées à la conformité aux normes automobiles telles que ISO 26262, ISO 21434, AUTOSAR C ++ 14 et MISRA.
Par exemple, en utilisant Parasoft C/C++test, les équipes peuvent effectuer des analyses statiques et dynamiques pour détecter les défauts et les vulnérabilités au 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 s'appuient sur des algorithmes complexes qui traitent les données des capteurs en temps réel. L'analyse du flux de contrôle garantit que les chemins d'exécution se comportent comme prévu, tandis que l'analyse du flux de données suit l'évolution des variables tout au long du programme. Ces techniques permettent de découvrir les conditions de concurrence, les fuites de mémoire et les comportements imprévus, des problèmes qui pourraient autrement passer inaperçus jusqu'à ce qu'une panne réelle se produise.
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.
Nous sommes à l’ère de l’IA et Parasoft n’est pas en reste dans le déploiement des technologies d’IA à travers son écosystème.
Parasoft solutions d'analyse de code statique Utilisez des algorithmes avancés d'IA et de ML pour améliorer la qualité des logiciels et assurer la conformité. En intégrant la reconnaissance de formes, l'analyse basée sur des règles et les techniques de flux de données, la plateforme détecte automatiquement les vulnérabilités, les erreurs de codage et les problèmes de conformité dans les langages de codage tels que C/C++, Java, C# et VB.NET.
La solution d'analyse statique hiérarchise les violations de règles et propose des correctifs exploitables, réduisant ainsi le temps et le coût de correction.
Pour favoriser le développement Agile, la solution peut également être intégrée dans les pipelines CI/CD pour permettre aux équipes d'itérer rapidement tout en garantissant des mesures de sécurité.
Développer des systèmes ADAS sûrs et fiables ne se résume pas à l'innovation. Cela nécessite des tests rigoureux, une validation des performances en temps réel et une conformité réglementaire stricte. Face aux préoccupations croissantes en matière de sécurité et à l'augmentation des rappels, les constructeurs automobiles doivent aller au-delà du respect des normes pour garantir que ces systèmes fonctionnent parfaitement sur la route. Les solutions de test automatisées de Parasoft, notamment l'analyse statique, la validation basée sur la simulation et la vérification de la conformité, jouent un rôle crucial pour combler le fossé entre le développement et la sécurité dans le monde réel.
Comment accélérer la conformité ISO/SAE 21434 grâce aux tests logiciels automatisés