Le suédois IAR Systems a profité du salon Embedded World 2015 pour annoncer l´ajout de son propre outil d’analyse statique de code au sein de environnement de développement intégré Embedded Workbench for ARM. ...Cette technologie de détection d’erreurs de codage en amont du cycle de développement, avant la compilation, se banalise aujourd’hui chez les développeurs. On trouve cette approche, la plupart du temps basée sur la mise en oeuvre de méthodes formelles, sous la forme d’outils autonomes chez Grammatech, Coverity (racheté par Synopsys), Klocwork ou Testwell, ou bien sous la forme d´outils intégrés dans des IDE comme ceux de Green Hills, LDRA ou MathWorks (qui a infusé la technologie de Polyspace)
C-STAT, c’est le nom de cet outil, analyse donc les fuites et les violations d’accès mémoire, les erreurs arithmétiques (division par zéro), l’initialisation de pointeurs, les dépassements de tampons, etc. L’idée est de diminuer efficacement leur impact bien avant que ces bogues ne génèrent des erreurs lourdes au moment des tests d’intégration. De plus, C-STAT s’aligne sur les règles de codage les plus communément usitées chez les développeurs, à savoir les spécifications Misra-C mises en oeuvre notamment dans le domaine automobile (Misra C:2004, Misra C++:2008 et Misra C:2012), une centaine de règles basées sur le modèle CWE (Common Weakness Enumeration) et enfin sur les spécifications Cert C/C++ (règles édictées par le Computer Emergency Response Team). Les développeurs peuvent sélectionner dans l’outil les règles qu’il souhaitent respecter lors de l’analyse automatique du code produit.
C-STAT s’utilise en complément d’autres technologies comme C-RUN qui détecte les problèmes au moment du runtime. L´outil est intégré à partir de la version 7.40 d’IAR Embedded Workbench for ARM, la chaîne de compilation et de débogage de la société dédiée au développement de code embarqué sur des architectures ARM, en particulier dans le cas de projets respectant les normes de sûreté de fonctionnement CEI 61508, ISO 26262 et EN 50128. A noter que la technologie est aussi opérante pour le codage sur les microcontrôleurs 16 bits MSP430 de Texas Instruments.