Nous suivre Industrie Techno

Logiciels critiques : de bonnes pratiques inspirées des industries à risque

Baptiste Cessieux
Logiciels critiques : de bonnes pratiques inspirées des industries à risque

© Creative Commons @wilco737

Dans l’industrie, un logiciel qui flanche peut rapidement se solder par des pertes importantes. Thomas Jensen, directeur de recherche INRIA du laboratoire Celtique à l’Irisa/INRIA de Rennes nous explique comment réduire les risques en s’inspirant des techniques des industries les plus critiques, comme l’aéronautique ou les services bancaires.

Pilotage automatique des avions, sécurité et contrôle des centrales électriques, logiciels de banque en ligne et autres lecteurs de cartes à puce: aucun de ces logiciels ne peut se permettre de s’arrêter sans de lourdes conséquences. Pour les sécuriser et réduire les risques d’arrêt imprévu, des équipes de recherche développent des outils et des protocoles à l’épreuve des bugs. Pour Thomas Jensen, directeur de recherche du laboratoire Celtique à l’Irisa de Rennes, « Ecrire des logiciels sûrs nécessite principalement de la rigueur et un savoir-faire de pointe »

Comme souvent, tout commence par des bonnes pratiques de conception. « Les équipes du laboratoire développent des méthodes d’analyse statique qui évaluent la façon dont un programme s’exécute afin d’en découvrir les failles, explique le chercheur. En d’autres termes, nos outils prévoient les chemins empruntés par l’information pour exécuter une action. Cette méthode est plus efficace qu’un simple test qui ne vérifiera qu’une seule action. » La méthode peut d’ailleurs pointer des lignes de codes qui ne contiennent pas d’erreur mais qui pourraient en contenir. Des faux-positifs qui sont en fait le prix à payer pour la grande vigilance de cette méthode d’analyse.

Mais pour fonctionner de manière optimale, l’analyse statique doit être pratiquée sur un logiciel parfaitement écrit. « Les logiciels critiques doivent être écrits en respectant des normes de bonne programmation bien plus contraignantes que celles appliquées aux logiciels classiques. Cela peut être celles qui sont décrites par l’Agence nationale de la sécurité des systèmes d’information (Anssi) par exemple. »

Et ce n’est pas tout. Pour parfaire un programme sensible, les bonnes pratiques d’écriture et l’analyse statique des méandres du code ne suffisent pas. Il faut également être sûr de la bonne transformation du langage de programmation en code exécutable par un ordinateur, autrement dit, la compilation. Pour cette dernière étape, Inria a développé CompCert, un compilateur spécialement dédié aux logiciels critiques. Dans les faits, ce (gros) programme évite toute erreur de traduction.

Bienvenue !

Vous êtes désormais inscrits. Vous recevrez prochainement notre newsletter hebdomadaire Industrie & Technologies

Nous vous recommandons

Au Sido, les start-up misent sur l'IA pour séduire l'industrie

Au Sido, les start-up misent sur l'IA pour séduire l'industrie

Les start-up n'ont pas manqué le rendez-vous du salon international des objets connectés (Sido) de Lyon pour présenter leur[…]

Longévité des batteries, Microsoft IA, laser ultra-puissant… les innovations qui (re)donnent le sourire

Longévité des batteries, Microsoft IA, laser ultra-puissant… les innovations qui (re)donnent le sourire

Microsoft IA, cybersécurité IBM, ralenti vidéo… les meilleures innovations de la semaine

Microsoft IA, cybersécurité IBM, ralenti vidéo… les meilleures innovations de la semaine

La première Ecole IA Microsoft de Lyon

La première Ecole IA Microsoft de Lyon

Plus d'articles