TrustInSoft optimise la validation logicielle sur du matériel cible émulé avec un mappage de mémoire associé

TrustInSoft Analyser Mappage mémoire

Le français TrustInSoft, spécialiste de l'analyse du code source C/C++, annonce l’intégration dans son outil TrustInSoft Analyzer du mappage mémoire d’un code sur une cible embarquée, dont la connaissance est, selon la société, d’une grande importance lors de l'analyse du code de bas niveau qui accède à des régions de mémoire spécifiques (comme les chargeurs d'amorçage - bootloaders - ou les pilotes de périphériques). Ces logiciels de bas niveau reposent en effet sur des mappages entre les variables du programme et les régions de mémoire spécifiques au circuit cible.

A ce niveau, TrustInSoft Analyzer apporte aux développeurs une fonctionnalité qui représente fidèlement ces mappages de mémoire grâce au nouvel attribut de variable intitulé TIS Address. A travers cette représentation précise des accès à la mémoire physique, l’outil TrustInSoft Analyzer peut analyser plus finement le comportement des programmes embarqués. Parallèlement, la connaissance de l'architecture cible permet à TrustInSoft Analyzer d'émuler fidèlement les fonctionnalités matérielles telles que le boutisme ou endianness (*), les tailles entières et flottantes et les contraintes d'alignement de types d'une plate-forme cible.

L’outil prend en charge plus de 24 architectures différentes pour six processeurs - x86, Power, Arm, Sparc, Mips et RISC-V.

« L'ensemble des fonctionnalités de TrustInSoft Analyzer, qui intègre désormais la technologie TIS Address, différencie l'aiutil de tout autre logiciel de test car elles permettent d'émuler avec précision des architectures avec un contrôle complet sur les formats d'adresse et de pointeur, souligne Fabrice Derepas, fondateur et P-DG de TrustInSoft. Ce qui signifie; pour les développeurs de logiciels C/C++, les développeurs de logiciels embarqués et les experts en sécurité, la possibilité de vérifier les logiciels de bas niveau tels que les pilotes, les micrologiciels, les chargeurs de démarrage et les systèmes d'exploitation qui reposent sur des comportements matériels spécifiques. De plus les fonctionnalités de TrustInSoft Analyzer aident à éliminer les goulots d'étranglement généralement causés par un accès limité à une plate-forme matérielle et permettent aux développeurs de nettoyer leur code beaucoup plus tôt dans le processus de développement, entraînant de ce fait des réductions de coûts significatives grâce à la possibilité d'émuler et de tester avec précision une cible sans avoir besoin d’un accès aux cibles physiques. »

Pour rappel, TrustInSoft Analyzer est un analyseur de code qui permet de prouver au sens littéral du terme, par le bais d’une analyse formelle reposant sur des équations mathématiques, l'absence de bogues et de vulnérabilités de sécurité dans un code écrit en C/C++. Grâce à ses capacités d'émulation, cet outil ouvre la voie à une optimisation de l'effort de test, en aidant à tester le logiciel sur n'importe quel matériel cible dès le début du cycle de développement du module logiciel, réduisant ainsi le nombre d'itérations de test sur la plate-forme finale. L'outil facilite en outre la résolution des contraintes dues à l'indisponibilité des plates-formes matérielles et autorise la mise en place d’une ingénierie simultanée.

De plus cette approche, selon la société, permet de réduire le nombre de plates-formes matérielles et d'émulateurs requis pour les tests d'intégration.

(*) Le boutisme - endianness en anglais - désigne l'ordre dans lequel des octets représentant un chiffre sont placés. Le choix du boutisme est généralement lié à l’architecture du processeur utilisé ou au format de données d'un fichier ou d'un protocole.