Jeudi 9 Février 2012
Article paru en mars 2005
dans CEA Techno(s) n° 75

Logiciels critiques GATeL, un nouveau pas vers plus de sureté

Tester le logiciel critique d'un avion, d'un TGV ou d'une centrale de production d'énergie peut représenter jusqu'à 75 % du coût total de développement. Le CEA List, avec son outil GATeL, propose une nouvelle approche de cette étape décisive : il aide à sélectionner et construire les cas de tests (et pas seulement à les écrire !) tout en prédisant les résultats attendus. Parmi les premiers intéressés : Airbus et l'IRSN*.

Comment s'assurer qu'un logiciel de plusieurs millions de lignes, voire davantage, exécutera parfaitement les tâches critiques qui lui sont confiées, avec un temps de réaction pouvant descendre à la seconde ou à la microseconde ? Pour les développeurs de tels systèmes critiques, dédiés pour la plupart aux transports et à l'énergie, cette question pèse jusqu'à 75 % du coût total de réalisation !
Encore faut-il préciser que cet investissement ne garantit pas la qualité du résultat. Certains éditeurs proposent des outils d'assistance à la rédaction des tests, mais ceux-ci ne disent pas à l'utilisateur quel est le meilleur test. Or, le problème est bien de viser juste, et pas de ratisser large ; quelques dizaines de milliers de tests peuvent laisser de côté des scénarios critiques.
L'ambition de GATeL, développé initialement au Laboratoire de recherche en informatique d'Orsay puis au CEA LIST, est de réaliser une rupture technologique dans ce domaine. Le pari est en passe d'être gagné, puisque l'outil compte déjà deux utilisateurs représentatifs. L'Institut de radioprotection et de sûreté nucléaire (IRSN) emploie GATeL depuis trois ans pour les besoins de son activité de certification de logiciels de contrôle-commande de centrales. Airbus, pour sa part, l'évalue avec d'autres outils pour définir des stratégies de test appropriées aux systèmes de commandes de vol. "GATeL est tout sauf un outil presse-bouton pour logiciels en phase finale, avertit Bruno Marre, l'un de ses concepteurs au CEA LIST. C'est à la fois un outil et une expertise, utilisés de préférence au début du développement d'un logiciel pour éviter des modifications majeures en fin de projet."
Dédié aux programmes de contrôle-commande réactifs et synchrones, GATeL s'appuie sur un modèle simplifié du logiciel. A partir de ce modèle et des propriétés à vérifier (réaction face à un pic de température, par exemple), il propose des moyens d'explorer les comportements du logiciel - y compris les plus inattendus - et permet de générer automatiquement les tests correspondants. "C'est à ce stade que l'outil fait la différence : il autorise une couverture large et homogène des comportements du logiciel, ciblée sur les aspects fonctionnels critiques, tout en se limitant à un nombre de tests raisonnable."
Ces tests sont ensuite exécutés sur le logiciel - et non sur le modèle - et GATeL fournit tous les éléments nécessaires pour dresser un bilan des propriétés vérifiées ou non. "Au départ, il faut se former à l'outil et à ses concepts, explique Bruno Marre. Mais au final, à coût équivalent, le développeur livre un logiciel plus sûr, ce qui est vital pour ce type d'applications."

* Institut de radioprotection et de sûreté nucléaire