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

[Innover contre le virus] Le supercalcul à l’assaut du Covid-19

[Innover contre le virus] Le supercalcul à l’assaut du Covid-19

Pendant l'été, Industrie & Technologies revient sur plusieurs mois de mobilisation des industriels et des chercheurs pour faire[…]

Hydrogène vert, souveraineté du cloud et Lab Robotique, le best of de la semaine

Hydrogène vert, souveraineté du cloud et Lab Robotique, le best of de la semaine

« Que Bpifrance choisisse AWS quand le président de la République réclame la souveraineté numérique, ce n'est pas acceptable ! », assène Frans Imbert Vier (Ubcom)

« Que Bpifrance choisisse AWS quand le président de la République réclame la souveraineté numérique, ce n'est pas acceptable ! », assène Frans Imbert Vier (Ubcom)

Michel Morvan, président de Cosmo Tech : l'amoureux de la complexité

Interview

Michel Morvan, président de Cosmo Tech : l'amoureux de la complexité

Plus d'articles