Pourquoi utiliser le meilleur outil d'analyse statique pour développer un logiciel de véhicule autonome

Créé: April 28, 2017
Mise à jour: December 8, 2020

Avez-vous déjà fait du ski ou du snowboard ? Sur toutes les pistes se trouvent des gens qui pensent que skier consiste à faire la course jusqu'en bas. Descendre à fond sans la moindre technique mène forcément au désastre. Les secours seraient au chômage s'il n'y avait pas ces gars qui ont des accidents ou des collisions avec d'autres skieurs. La morale de l'histoire, c'est que lorsque vous vous précipitez, vous risquez non seulement de vous faire mal, mais aussi de causer des torts à ceux qui vous entourent. Vous devriez toujours prendre votre temps et utiliser la technique appropriée pour descendre la piste de la façon la plus sûre et la plus rapide. Les compilateurs pour le développement de véhicules autonomes sont étonnamment similaires. Les concepteurs se concentrent souvent sur les tests de performance de leur compilateur, pour se rendre compte plus tard que leurs programmes ont été ralentis pour des raisons de sécurité. L'utilisation d'un compilateur doté de fonctions de sécurité intégrées, en particulier d'outils d'analyse statique, permet à votre programme de se conformer à la norme ISO 26262 rapidement. Utiliser un outil de sécurité avec une analyse statique optimale peut d'une part vous faire gagner du temps dans le débogage, et d'autre part vous empêcher de réduire les fonctionnalités et vous permettre de tirer le meilleur parti de votre compilateur.

Gagnez du temps en cas de débogage

Depuis le passage d'une unité de commande électronique (ECU) à plusieurs ECU intégrées, les problèmes de sécurité sont devenus un peu plus compliqués. La certification de toutes les fonctionnalités au niveau ASIL le plus élevé prend du temps. En conséquence, l'utilisation d'une unité de protection de la mémoire (MPU) est une option intéressante qui peut vous faire gagner du temps lors du développement. Ceci dit, l'utilisation abusive de la MPU peut entraîner de lourdes répercussions financières et juridiques, et la réparation manuelle des conséquences peut nécessiter énormément de temps. Un outil d'analyse statique intégré peut vous empêcher de passer des heures interminables à analyser toutes les violations d'accès de la MPU.

Comme vous le savez, la plupart des développeurs se concentrent d'abord sur la vitesse, et ensuite sur la sécurité. Cela signifie que vous écrivez beaucoup de code et vous ne cherchez que plus tard à savoir s'il est conforme aux normes de sécurité. Si vous attendez trop longtemps, votre code peut être tellement criblé de violations de sécurité que sa correction prendra des jours. Afin d'être proactif, un outil d'analyse statique bien intégré vous permettra de réduire les risques de violation de la MPU dès le départ, avant que la boule de neige ne se transforme en avalanche.

Un bon outil d'analyse statique affichera également l'analyse des causes des erreurs de MPU. L'analyse des causes racines vous permettra de cerner la cause du problème au lieu de poursuivre un fil d'erreurs dans votre programme entier. En plus de l'analyse des causes, les meilleurs outils d'analyse statique vous permettront d'effectuer des vérifications exhaustives sans matériel. Vous ne gagnerez pas de temps si vous devez attendre le matériel pour commencer les tests. Prenez un outil d'analyse statique qui vous permet de vérifier votre code avant d'avoir le matériel.

MPU sur un panneau de signalisation

Attention : Erreurs de MPU.

Réduire les suppressions de fonctionnalités

Le risque en perdant trop de temps durant le débogage est d'avoir à supprimer des fonctionnalités non essentielles. Le temps, c'est de l'argent, et les deux sont limités. Si vous mettez trop de temps à réparer les erreurs de MPU, vous finissez par supprimer des fonctionnalités. Utiliser un bon outil d'analyse statique peut vous faire gagner du temps et de l'argent. Un analyseur statique avec un système de vérification automatique des erreurs prend 1 % du temps qui serait nécessaire pour procéder à une vérification manuelle des erreurs. Cela se traduit par des diminution de coûts de 15 % sur la vérification des erreurs.

Les outils d'analyse des causes peuvent également vous épargner du temps et de l'argent. Bien qu'il soit tentant d'attendre d'avoir terminé votre programme pour vérifier sa conformité aux normes de sécurité, si vous attendez trop longtemps, certains bogues seront peut-être ancrés très profondément dans votre code. L'analyse des causes d'erreur vous indique facilement où le problème a commencé. Un analyseur statique avec une analyse de cause permet de trouver l'origine des erreurs en 5 % du temps requis par une vérification manuelle. Vous pourriez ainsi économiser 5 % de plus sur le coût global de la vérification des erreurs.

clavier avec débogage et outils écrits sur les touches

Si seulement c'était si facile.

Utilisez toute la richesse de vos outils

Certains développeurs choisissent le compilateur le plus rapide pour leur application, puis ils sont forcés d'abandonner certaines optimisations car les outils de sécurité tiers qu'ils utilisent ne peuvent pas intégrer ces optimisations. Il est inutile d'acheter des skis super rapides si vous n'êtes pas assez expert pour les utiliser. Un excellent outil d'analyse statique vous aidera à corriger toutes les contradictions entre votre logiciel de sécurité et votre compilateur.

Choisir le bon outil de développement

Si vous foncez sur une piste avec une paire de skis d'entrée de gamme, vous risquez de ne pas arriver entier en bas de la piste. Le bon équipement et la bonne technique sont nécessaires. Un outil d'analyse statique riche vous permettra de déboguer votre code durant la programmation et ainsi de résoudre rapidement les erreurs majeures. Les outils sont souvent aussi bons que la société qui les a fabriqués. Il est important de savoir que vous disposez d'un outil de développement d'analyse statique qui tient la route. C'est pourquoi je recommande d'avoir un outil de développement qui dispose au moins d'une certification ASPICE L2. Vous avez ainsi la garantie que l'outil de développement peut vous aider en cas de problème. Il se trouve que TASKING d'Altium, a récemment reçu la certification ASPICE de niveau 2.

Comme je l'ai dit, le meilleur outil d'analyse statique vous permettra de déboguer au fur et à mesure du développement, il vous donnera l'analyse des causes des erreurs, il ne vous forcera pas à attendre du matériel et il s'accordera bien avec votre compilateur. TASKING Safety Checker fait tout cela et bien plus.

Vous avez des questions sur les outils d'analyse statique ? Appelez un expert de TASKING.

Powerful PCB Design

Ressources associées

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.