Sites Inria

Systèmes critiques

Hubert Garavel, Isabelle Bellin - 20/11/2012

La fiabilité des systèmes devient un défi majeur

Airbus Airbus A350. - © Airbus

En 20 ans, les systèmes informatiques (ordinateurs, logiciels, réseaux) ont envahi notre vie courante et sont désormais au cœur d’applications de plus en plus vitales. Leur complexité technique augmente sans cesse, alors que leur contexte de production est de plus en plus tendu, réductions de coûts et de délais obligent. Quelles conséquences en termes de qualité, sûreté et sécurité ? Éviter les défaillances informatiques représente un enjeu d'avenir, majeur pour l’industrie, sur la base des progrès scientifiques de ces dernières décennies.

Témoignage d’Hubert Garavel, lauréat du prix Gay-Lussac Humboldt en 2011, pionnier dans le développement de méthodes formelles et d’outils de vérification pour les systèmes industriels critiques.

La prise de conscience des enjeux de la fiabilité logicielle a eu lieu dès 1968 lors d’une conférence consacrée à la "crise du logiciel" : comment répondre aux besoins en produisant en quantité des logiciels de qualité ? De là est née la discipline du génie logiciel qui a considérablement amélioré la pratique industrielle. Mais le sujet a repris une nouvelle acuité ces vingt dernières années, car le paysage informatique a été profondément modifié par quatre changements majeurs :

  • La diffusion massive des logiciels embarqués, devenus omniprésents dans les avions, les voitures, les téléphones, ou les télévisions, bien au delà de ce qu’on pouvait imaginer en 1968 ;
  • La complexité croissante des systèmes informatiques, mesurée en nombre de lignes de code pour les programmes et en nombre de transistors pour les circuits électroniques ;
  • La montée en puissance de la programmation parallèle — plus performante mais beaucoup plus difficile que la programmation séquentielle classique — indispensable aussi bien pour exploiter les processeurs multicœurs des ordinateurs grand public que les centaines de milliers de processeurs des supercalculateurs ;
  • La mise en réseau généralisée de tous les ordinateurs et équipements, désormais interconnectés par Internet, ce qui pose de redoutables défis en termes de sécurité.

On confie aux systèmes informatiques des missions de plus en plus critiques sans que leur sûreté et leur sécurité ne soient toujours à la hauteur.

Ainsi, le bulletin Risks Digest  recense chaque mois la liste des défaillances informatiques, souvent coûteuses et parfois mortelles, survenues dans le monde. Au-delà d’accidents industriels très médiatisés (comme le bug du processeur Pentium en 1994 ou l’échec d’Ariane 5 en 1996), ces problèmes s’installent de manière discrète, mais lancinante, dans notre vie quotidienne. On les retrouve, par exemple, dans les pannes automobiles dues à l’électronique et au logiciel, les fraudes et les attaques sur Internet, ainsi que les usurpations d’identité. Globalement, on estime que le coût annuel des pannes logicielles pour l’économie mondiale avoisine aujourd’hui la centaine de milliards d’euros.

Pourtant, durant les vingt dernières années, les recherches en génie logiciel ont beaucoup progressé : les méthodologies se sont affinées, les langages se sont améliorés, les outils de vérification et de test sont devenus plus puissants, plus rapides et plus automatiques. Ces résultats sont déployés dans l’industrie, mais ils restent trop souvent réservés à certains domaines, soit lorsque des autorités de certification veillent à la sûreté publique (aviation civile, nucléaire, transports collectifs), soit lorsque la réparation d’éventuelles erreurs aurait un coût prohibitif (microprocesseurs et circuits électroniques à large diffusion). Malheureusement, trop de systèmes informatiques sont encore développés dans l’urgence sans mettre en œuvre les bonnes pratiques qui permettraient d’améliorer leur qualité.

Dans ce vaste domaine de recherche où beaucoup de questions restent à résoudre, plusieurs équipes d’Inria à Grenoble (Convecs, Mescal, Moais, Pop-art, Privatics, Sardes et Vasy) s’attaquent à des problèmes difficiles : systèmes distribués, systèmes embarqués, calcul parallèle, sûreté, sécurité et protection de la vie privée. Une attention particulière est portée aux systèmes embarqués qui doivent gérer en continu consommation énergétique, performance et disponibilité, ainsi qu’aux processeurs multicœurs, à la manière de les concevoir et de les programmer pour exploiter au mieux la puissance qu’ils fournissent. Depuis vingt ans, les progrès sont constants et ils sont transférés aux entreprises, souvent sous l’égide du pôle de compétitivité Minalogic.

CADP : des logiciels pour maîtriser le parallélisme

Les équipes Vasy et Convecs d’Inria et du LIG (laboratoire d’informatique de Grenoble) ont largement contribué au développement de la boîte à outils CADP (Construction and Analysis of Distributed Processes ). Lancée il y a 25 ans, cette plate-forme de recherche rassemble désormais une cinquantaine d’outils destinés à la modélisation, la vérification, le test et l’évaluation de performances pour les systèmes distribués et parallèles. De nombreux universitaires l’utilisent dans le monde pour enseigner ces sujets. Plus de 150 publications scientifiques traitent de problèmes résolus avec CADP et plus de 60 outils de recherche sont connectés à CADP.

Parmi les applications industrielles : la boîte à outils est reliée à la plate-forme de développement Topcased pilotée par Airbus , Bull s’est appuyé sur CADP pour valider l’architecture de ses supercalculateurs et STMicroelectronics et le CEA Leti l’ont utilisé pour vérifier des systèmes et réseaux sur puce et prédire leurs performances. Et de nouveaux partenariats ciblent les automates programmables, les interfaces graphiques et le cloud computing .

ET DANS 20 ANS ?

Hubert Garavel, directeur de recherche, équipe CONVECS

Hubert Garavel - © Inria / Photo A.Eidelman

« Les tendances actuelles vont certainement s’accentuer : les systèmes informatiques gèreront une part croissante de notre vie sociale, s’étendant à de nouveaux domaines tels que la distribution d’énergie et l’aide à la conduite automobile. La complexité matérielle et logicielle des systèmes embarqués ira en augmentant avec l’ajout de nouvelles fonctionnalités et l’évolution des architectures : généralisation du calcul parallèle, regroupement de multiples fonctions sur des processeurs multicœurs, interconnexion systématique à Internet et optimisation de la consommation énergétique. De tels changements risquent de rendre le fonctionnement des systèmes beaucoup plus difficile à prévoir.

Les scientifiques travaillent sur ces problématiques complexes pour lesquelles ils ont développé un vrai savoir-faire. Mais la diffusion de ces résultats et leur mise en œuvre par les industriels est un autre enjeu. Une prise de conscience aura-t-elle lieu à temps pour traiter en amont les problèmes de sûreté et de sécurité ? Ou bien des accidents imposeront-ils une régulation plus drastique, avec une responsabilité accrue pour les concepteurs de systèmes et, par exemple, l’obligation d’employer des développeurs spécialement qualifiés à cet effet, comme cela est la règle dans d’autres corps de métiers ? La question reste ouverte.»

Mots-clés : Hubert Garavel Convecs INRIA Grenoble - Rhône-Alpes Systèmes critiques Logicels embarqués Logiciels Fiabilité

Haut de page

Suivez Inria