Utilisez Agentic AI pour générer des tests API plus intelligents. En quelques minutes. Apprenez comment >>
C++ est un langage complexe qui nécessite un investissement important pour garantir prévisibilité, sûreté et sécurité. AUTomotive Open System Architecture (AUTOSAR) a défini les exigences AUTOSAR C++14 afin de limiter l'utilisation de C++14 aux constructions prévisibles. Répondez à ces exigences avec les solutions Parasoft pour minimiser les risques de sécurité.
L'architecture de systèmes ouverts automobiles (AUTomotive Open System Architecture, AUTOSAR) est issue d'un partenariat de développement entre acteurs du secteur automobile. Fondé en 2003, le groupe visait à établir une architecture logicielle standardisée et ouverte autour des unités de contrôle électronique (ECU) automobiles. Il couvre également les semi-conducteurs.
Le AUTOSAR Ce partenariat de développement visait à améliorer l'efficacité et la disponibilité des exigences de sécurité, l'évolutivité, la transférabilité et la durabilité tout au long du cycle de vie du produit. Si ces principes sont souvent associés aux dispositifs médicaux, ils s'appliquent également à certaines technologies automobiles classées comme systèmes critiques pour la sécurité. Des produits comme les airbags nécessitent une technologie capable de les déployer avec précision, tandis que des systèmes comme le contrôle moteur requièrent une certaine cohérence.
L'intégration croissante de logiciels dans les automobiles implique également une collecte et un traitement intensifs de données en temps réel. Différents aspects d'AUTOSAR visent à répondre aux besoins des composants électroniques et logiciels automobiles modernes.
Décomposer les directives de codage AUTOSAR C++14
Il existe deux types de plateformes AUTOSAR : adaptative et classique. La plateforme AUTOSAR classique n'offre pas la flexibilité et la puissance de traitement de la plateforme adaptative. La complexité croissante des technologies automobiles exige des réactions plus simples et plus rapides. Cependant, ces deux plateformes ne sont pas rivales. Elles sont partenaires. Elles servent toutes deux des objectifs différents dans l'écosystème de conception et de développement automobile.
Plate-forme classique AUTOSAR | Plateforme adaptative AUTOSAR |
---|---|
Idéal pour une architecture simple ou multicœur et des calculateurs profondément intégrés. | Idéal pour les calculateurs plus récents et destiné à fonctionner sur les architectures HPC pour mieux en tirer parti. |
Utilise une communication basée sur le signal avec des réseaux BUS tels que LIN ou CAN. | Utilise la communication basée sur les services avec Ethernet. |
Définit un système d'exploitation (OS). | Définit le contexte d'exécution, ainsi qu'une interface de système d'exploitation telle que PSE51. |
Nature statique avec une faible flexibilité. | Fournit une « dynamique planifiée » pendant le déploiement de l'application avec une intégration flexible. |
Les délais sont plus pressants en raison du traitement en temps réel. | Exigence en temps réel souple. |
Les exemples incluent les systèmes de freinage et le contrôle du moteur. | Les exemples incluent le traitement des données de fusion de capteurs et les mises à jour en direct (mises à jour OTA). |
AUTOSAR C++14 est un norme de codage pour C++ version 14 (ISO/IEC 14882:2014). Il s'agit également d'un artefact ou d'un résultat de la définition de la plateforme Adaptive AUTOSAR, qui fournit les spécifications d'interface pour les API et les services. Cette section des directives de codage AUTOSAR vient d'être mise à jour. MISRA C++ 2008 : une norme de codage obsolète. Cependant, MISRA et AUTOSAR ont annoncé leur fusion en 2019 afin de soutenir la mise à jour vers C++17, devenu le langage par défaut de nombreuses solutions électroniques AUTOSAR modernes. Ces directives sont si robustes et optimisées que tout secteur nécessitant une programmation embarquée en C++ peut les appliquer.
AUTOSAR C++14 contient 342 règles pour une compréhension claire et des conseils sur les exigences de codage. Les règles de codage AUTOSAR C++14 sont classées par niveau d'obligation.
Toutefois, les développeurs peuvent déroger à une norme, une règle ou une directive AUTOSAR avec approbation. Afin d'éviter toute utilisation abusive, une validation formelle est requise pour chaque dérogation. De plus, AUTOSAR classe les règles selon leur capacité à être appliquées automatiquement par les outils d'analyse statique.
L'utilisation de C++14, en collaboration avec les directives AUTOSAR C++14, offre aux développeurs la possibilité d'utiliser des compilateurs performants et un accès facilité à des outils de test, de vérification et d'analyse performants. Elle permet l'utilisation de nouvelles méthodes de développement, comme l'intégration continue/livraison continue (CI/CD), qui permettent de détecter les erreurs plus tôt dans le cycle de développement logiciel.
« 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.
Trouver les bons outils de développement pour garantir la qualité des logiciels est une question d'essais et d'erreurs. Mais cela ne signifie pas qu'il faille expérimenter avec des outils ou des stratégies non éprouvés. Les nombreux avantages de l'automatisation en matière de tests et de conformité sont évidents.
Identifier les problèmes plus tôt simplifie la vie de tous les acteurs du développement logiciel. De l'architecture logicielle aux logiciels d'application, en passant par le diagnostic et la validation, les solutions Parasoft prennent tout en compte.
Adoptez la conformité AUTOSAR C++14 pour développer des logiciels sûrs, sécurisés et fiables, réduisant ainsi les coûts de développement, accélérant la mise sur le marché et garantissant le succès à long terme du produit.
Empêchez les défauts de code plus tôt dans le processus de développement avant qu'ils ne se transforment en défis plus coûteux sur toute la ligne.
Parasoft propose l'analyse statique AUTOSAR C++14 comme solution recommandée par les normes de processus telles que ISO 26262, DO-178C, IEC 62304, IEC 61508, EN 50128, etc.
Intégrez les directives de codage de sécurité AUTOSAR C++14 directement dans votre cycle de vie de développement logiciel dans le cadre de votre stratégie SAST.
Parasoft intègre l'intelligence artificielle et l'apprentissage automatique pour améliorer la productivité des workflows d'analyse statique AUTOSAR C++14 de votre équipe, en signalant et en hiérarchisant les violations à corriger en premier.
L'analyse statique AUTOSAR C++14 de Parasoft s'intègre facilement dans votre pipeline CI/CD rationalisé avec des tests continus pour fournir rapidement des logiciels de haute qualité, sûrs et sécurisés.
Créez votre propre configuration de normes de codage personnalisées pour votre organisation à l'aide de Parasoft RuleWizard.
Parasoft propose l'agrégation de MISRA avec toutes nos autres normes de codage prises en charge telles que CERT, CWE, OWASP, UL 2900, etc.
En ce qui concerne la conformité AUTOSAR C++14, il existe plusieurs pratiques très bénéfiques. Voici une liste de certaines des méthodes à considérer.
En plus de la conformité AUTOSAR C++14, réunissez-vous avec vos collègues ingénieurs en logiciel et vérifiez systématiquement le code de chacun pour détecter les erreurs et les violations de style de codage. Il a été démontré que cette activité accélère et améliore considérablement la qualité du code.
Tout écart par rapport aux directives AUTOSAR C++14 nécessite une documentation complète sur les éléments suivants : les directives spécifiques, la portée, la justification, l’assurance de sécurité, les conséquences et l’atténuation.
La conformité à AUTOSAR C++14 vous aidera à écrire du code facile à lire et à comprendre. Évitez d'être trop malin et d'écrire du code complexe, difficile à suivre ou facilement mal compris. Vous ne souhaitez pas que d'autres ingénieurs ou vous-même passiez trop de temps à essayer de déchiffrer un bug dans votre code.
La conformité à AUTOSAR C++14 favorise la portabilité du code, permettant une migration aisée des logiciels entre plateformes telles que POSIX et les systèmes ANSI C, avec un minimum de modifications. Cette flexibilité réduit les efforts d'adaptation lors des changements de compilateurs, de systèmes d'exploitation ou de cibles matérielles, permettant ainsi aux entreprises de saisir des opportunités stratégiques ou de réaliser des économies sans remaniements majeurs.
Certaines constructions de code peuvent enfreindre les règles AUTOSAR C++14. Parasoft vous permet de filtrer intentionnellement ce bruit.
La conformité AUTOSAR C++14 permet d'écrire du code qui n'a pas un grand nombre de branches. Plus il y a de branches, plus la complexité du code est élevée et plus le nombre de bogues trouvés dans le code est élevé.
La conformité AUTOSAR C++14 vous aide à écrire du code fiable qui gère les scénarios attendus et les scénarios inattendus, y compris les cas d'utilisation négatifs et les conditions de données non valides, garantissant ainsi la résilience des applications.
La conformité AUTOSAR C++14 vous aide à écrire du code portable qui peut être réutilisé dans de futurs produits ou projets. Cela améliore la productivité et réduit les coûts de main-d'œuvre et de test.
Les systèmes logiciels automobiles modernes s'appuient de plus en plus sur des architectures ouvertes et standardisées comme AUTOSAR pour alimenter les fonctionnalités de conduite autonome et de connectivité essentielles à la sécurité. Deux exemples clés conformité pour les tests de logiciels de conduite autonome consistent à
Ce ne sont là que quelques exemples notables. L'adoption croissante de la plateforme adaptative AUTOSAR et des véhicules équipés de l'IoT rend la mesure des données en temps réel et les capacités de réponse adaptative essentielles.
Le tableau de bord d'analyse de Parasoft avec rapport de conformité AUTOSAR automatisé facilite la fourniture de la preuve requise pour la certification.
Pour les applications critiques en matière de sûreté et de sécurité, vous souhaiterez utiliser notre solution certifiée TÜV SÜD pour garantir la conformité aux normes et la facilité d'adoption dans vos processus de développement hautes performances.
L'avantage de proposer la conformité AUTOSAR C++14 est que vous pouvez la présenter à votre équipe et l'utiliser à n'importe quelle phase de développement logiciel d'un projet. Mieux encore, elle est efficace même si un projet ou votre logiciel ECU est incomplet et partiellement codé.
À mesure que la conformité à AUTOSAR C++14 devient une partie intégrante de la routine quotidienne de chaque développeur, ils peuvent analyser les résultats plus rapidement et corriger les bogues plus efficacement.
La maturité du produit en développement est également importante, car elle influence la manière dont il est intégré à la conformité AUTOSAR C++14. La gestion du cycle de vie de l'adoption fonctionne comme décrit ci-dessous.
Cette approche cible les projets existants déjà sur le marché. Avec un développement minimal de nouveau code, les bugs et vulnérabilités de sécurité découverts s'accumulent sous forme de dette technique au sein de la base de code existante.
Les projets existants avec un développement actuel ont des équipes qui améliorent le nouveau code au fur et à mesure de son développement pour différer moins d'avertissements critiques en tant que dette technique.
Les nouveaux projets adoptent cette approche. Les développeurs peuvent intégrer la conformité AUTOSAR C++14 dans leurs environnements de développement dès le départ afin de garantir un niveau de qualité élevé du code.
Consultez les résultats de conformité AUTOSAR C++14 du test C/C++ dans le tableau de bord de reporting dynamique de Parasoft. Vous pouvez automatiser le post-traitement et les stratégies de reporting avancées grâce aux données historiques.
Il est facile de visualiser les résultats de conformité AUTOSAR C++14 d'une build à l'autre au fil du temps. Cela est vrai même avec des bases de code volumineuses et du code hérité, où la visibilité sur le code est généralement difficile. Vous pouvez ainsi vous concentrer rapidement sur la qualité du code nouvellement ajouté.
La solution d'analyse de code AUTOSAR de Parasoft, C/C++test, détecte les problèmes complexes de conformité à AUTOSAR C++14 dans un environnement d'exécution AUTOSAR dès le début du développement, sans avoir à effectuer de tests d'exécution coûteux. Cela simplifie les processus de développement au bénéfice de tous.
C/C++test analyse les chemins d'exécution du code et détecte les problèmes de conformité AUTOSAR C++14, tels que le déréférencement de pointeurs nuls, la division par zéro et les fuites de mémoire. Il recherche également les failles de sécurité telles que les opérations arithmétiques sur un opérande de pointeur, les dépassements de tampon, le code inaccessible et la fonction système cstdlib.
Avec des widgets qui suivent automatiquement la conformité AUTOSAR C++14, les utilisateurs obtiennent une vue dynamique du processus de conformité et peuvent facilement produire des rapports automatiques pour les audits de code et les objectifs de certification.
Améliorez vos tests logiciels avec les solutions Parasoft.