Faciliter l'homologation de logiciels destinés aux applications à sûreté critique, tel est l’objectif affiché de la suite de qualification SuperGuard que vient de dévoiler la jeune société néerlandaise SolidSands, fondée en 2014 et spécialiste des services de test, de validation et de sûreté pour compilateurs et bibliothèques C et C++. ...
« Nombre d'utilisateurs de nos services et de nos outils, notamment ceux qui développent des applications où la sûreté est essentielle, nous ont alertés sur leur besoin de qualifier les bibliothèques standard, explique Marianne Damstra, directrice relations clients chez Solid Sands. Ces bibliothèques deviennent parties intégrantes des applications, mais, étonnamment, aucun outil professionnel n’était disponible sur le marché pour les qualifier vis-à-vis des exigences de la sûreté de fonctionnement. Cette observation est à l’origine de l’environnement SuperGuard qui tire parti de notre expérience pointue dans le test de compilateurs destinés aux applications à sûreté critique. »
Concrètement, SuperGuard fournit aux développeurs une documentation complète des exigences et des spécifications de test pour des implantations de bibliothèques C, et en particulier les informations nécessaires pour se conformer aux normes de sécurité fonctionnelle. En parallèle, une traçabilité transparente entre le test des bibliothèques et les exigences dérivées de la norme ISO du langage C est possible grâce à l’outil. Pour ce faire, SuperGuard conserve la documentation nécessaire pour délivrer les informations exigées par les autorités de certification internationales.
En fait, la spécification du langage C ne définit pas explicitement d'ensemble d'exigences en matière de test pour chaque fonction de bibliothèque, souligne SolidSands. Pourtant, de telles exigences sont essentielles à l'approbation des normes de sécurité fonctionnelle telles que la norme ISO 26262 utilisée dans l’automobile (en particulier l’ISO 26262-6), la CEI 61508 pour les équipements industriels ou l’EN 50128 pour les systèmes ferroviaires. Elles doivent donc être créées à partir de la spécification du langage par le développeur des tests, qui dans le cas présent est Solid Sands. Ces exigences et la traçabilité des tests sont ici les éléments différentiels qui caractérisent l’outil SuperGuard.
Sur le terrain, tous les compilateurs C sont utilisés avec une bibliothèque standard, note en outre Solid Sands. Les fonctions de la bibliothèque sont liées à l'application et sont exécutées sur la cible. Il incombe donc aux développeurs d'applications à sûreté critique de démontrer que le code de la bibliothèque est aussi rigoureusement testé que le code qu'ils écrivent eux-mêmes. Avec la technologie de Solid Sands, notamment intégrée dans l’outil actuel SuperTest, il est possible de valider le compilateur et d’utiliser une suite complète de tests pour valider la bibliothèque. Avec SuperGuard, l’épate suivante est franchie, à savoir la fourniture aux développeurs de la documentation nécessaire pour montrer que ces tests de bibliothèques sont bien fondés sur les exigences et les spécifications de test, telles que requises par les normes de sécurité fonctionnelle.
La suite de qualification de sûreté de bibliothèques C SuperGuard sera disponible à l'été 2021, à la fois sous forme de produit autonome et sous forme de module complémentaire pour les utilisateurs de l’outil SuperTest. Un package logiciel similaire pour la bibliothèque standard C++ est actuellement en cours de développement.