La firme allemande Lauterbach, spécialiste des outils de débogage et de trace de code embarqué, a décidé de coopérer avec le français StatInf, jeune entreprise créée en 2020 et éditeur d’un outil d’analyse statique de code. Objectif : permettre aux développeurs d'utiliser la trace de flux de programmes capturée par les outils Trace32 de Lauterbach avec l’outil d'analyse statique RocqStat de StatInf.
Dans la pratique, les données de trace capturées à partir de Trace32 sont utilisées par l’outil RocqStat pour détecter les interactions entre les programmes et les interactions entre les cœurs dans un système embarqué. La technologie utilisée par cet outil permet ici de détecter ces interactions indépendamment du logiciel d'application mis en œuvre, y compris avec des applications où le code source complet n'est pas disponible, ce qui le rend apte aux tests et à l’évaluation de code dans des situations de type “boîte noire”.
RocqStat s’appuie pour ce faire sur une technologie brevetée qui utilise des méthodes statistiques, la théorie des valeurs extrêmes et un flux de programme réel pour déterminer les profils d'exécution de logiciels incorrects, rares ou imprévus, ainsi que les bogues logiciels, les erreurs matérielles ou même les attaques de logiciels malveillants externes.
Le temps d'exécution dans le pire des cas (WCET, Worst Case Execution Time) d’une application, calculé par l’outil, fait également partie des analyses demandées par les développeurs de systèmes embarqués critiques pour la sécurité, pour lesquels RocqStat a son rôle à jouer.
« S’il est non intrusif et horodaté, le BTM (Branch Trace Message) peut alimenter les méthodes d'analyse statique de type WCET, aider à construire des modèles de synchronisation matérielle, ou alimenter des méthodes statistiques pour vérifier la qualité et l'exhaustivité des durées collectées. Une approche qui permet de justifier des limites supérieures sûres pour le WCET », précise dans ce cadre l'entité Avionics Software d'Airbus Toulouse.
Pour rappel, la jeune société Statinf, créée par Adriana Gogonel et Liliana Cucu-Grosjean, a développé RocqStat, un outil logiciel d’analyse statistique de code qui s'appuie sur les recherches effectuées par l'équipe du projet Kopernic de l’Inria Paris. Cet outil permet d'évaluer, par le biais d’une approche statistique et probabiliste, les temps d’exécution des programmes critiques et a pour ambition d’aider les industriels à effectuer une analyse statistique temporelle de systèmes informatiques embarqués, y compris lorsqu'ils s'appuient sur des processeurs multicœurs. En combinant des outils d’optimisation et des méthodes statistiques, StatInf a pour ambition de rendre prévisible l’utilisation d’architectures multicœurs dans l’embarqué critique, d’introduire des algorithmes IA dans une boucle de contrôle et de minimiser la consommation d’énergie.
En d’autres termes, RocqStat, qui est une solution d’analyse de comportement temporel, vise à aider à la conception de systèmes embarqués afin d’optimiser et sécuriser des processeurs multicoeurs sur lesquels s’exécutent les programmes critiques.