Le management du digital
Rechercher

Qualité des développements : reculer les limites ?

Pour Joseph Sifakis, directeur de recherches au CNRS, chaire industrielle Schneider-Inria et Prix Turing 2007 : « Les modèles de programmation actuels ne sont pas les bons. »

BPSI Vous êtes l’un des précurseurs des recherches sur la vérification des applications critiques : quels sont les problèmes que l’on rencontre dans ce domaine ?

Joseph Sikakis Je suis arrivé en France en 1970, j’étais ingénieur électricien, et j’ai commencé des études en informatique à l’université de Grenoble. Je suis entré en 1973 au CNRS (Centre national de la recherche scientifique). J’ai travaillé dès le début sur les problématiques de vérification. Pourquoi est-ce important ? Essentiellement parce que l’informatique est une discipline encore jeune, que l’on ne peut comparer à d’autres comme la physique. Toutes les disciplines basées sur la physique permettent de construire des systèmes relativement fiables, ce qui n’est pas le cas en informatique. Cela peut conduire à des échecs énormes, notamment pour les grands systèmes complexes. Nous avons besoin de méthodes rigoureuses pour garantir le fonctionnement des systèmes. On ne peut pas se limiter aux tests parce que ceux-ci ne peuvent garantir l’exhaustivité de la validation ou de la vérification d’un système. Il y a toujours une part d’incertitude et il faut énormément de temps pour explorer complètement un système.

BPSI Quelle différence faites-vous entre un test et une vérification ?

Joseph Sikakis La différence est importante. Le principe de la vérification consiste à construire un modèle du système, d’appliquer un raisonnement mathématique à ce modèle pour garantir qu’il va fonctionner correctement. Si le modèle est fidèle, cela permet la prédictibilité du comportement du système. En 1982, nous avons débuté nos travaux pour vérifier que les modèles respectent les exigences fonctionnelles d’un système. Par exemple, en avionique, qu’un train d’atterrissage se rentre lors du décollage d’un avion, ou, dans le domaine du logiciel, que celui-ci répond à ce que l’utilisateur attend. Autrement dit, on a donc, d’un côté, des exigences et, de l’autre, un modèle : lorsque l’on connaît les deux, on explore le modèle et on vérifie mathématiquement qu’à chaque état les exigences sont satisfaites.

BPSI Est-ce difficile ?

Joseph Sikakis On constate deux difficultés. La première est liée au vrai challenge de pouvoir construire des modèles fidèles. Seconde difficulté : avoir des méthodes de comparaison, donc de vérification, des propriétés (exigences) du modèle. Au début des années 1980, nous vérifiions des systèmes qui, aujourd’hui, paraîtraient d’une complexité ridicule. La technologie est devenue mature dans les années 1990. Au début, les machines étaient lentes, nous ne disposions pas de résultats théoriques et pour vaincre la complexité, il fallait parcourir un nombre très important d’états. Pour être efficace, il faut des machines, puissantes, rapides, des bons algorithmes et des méthodes. Pendant vingt-cinq ans, nous avons développé des techniques de modélisation et des algorithmes efficaces. Nous avons bien sûr été avantagés par l’accroissement de la vitesse des machines. Les premières applications de vérification concernaient les processeurs parce qu’il était relativement facile de construire des modèles mathématiques. Par contre, pour les logiciels, il a fallu attendre jusqu’à la fin des années 1990. Aujourd’hui, on utilise ces techniques pour les matériels et les logiciels, mais il reste un challenge important : la difficulté de modéliser des systèmes mixtes qui combinent matériels et logiciels.

BPSI Quelles sont les failles les plus courantes dans les systèmes ?

Joseph Sikakis à l’origine, les matériels constituaient les premières sources de défaillance. Maintenant, nous avons affaire à un nombre limité d’architectures et les matériels sont relativement fiables. En tout cas beaucoup plus que par le passé, même si cette situation peut évoluer défavorablement. Avec la miniaturisation, les matériels risquent d’être à nouveau fragiles. Actuellement, ce sont les logiciels qui posent problème : ils sont hétérogènes et les techniques de développement ne sont pas aussi matures que pour les matériels. Les difficultés naissent lorsque les matériels interagissent avec les logiciels, même si l’état de l’art progresse. Autrefois, les systèmes, par exemple les mainframes, étaient relativement isolés mais, aujourd’hui, ils sont de plus en plus ouverts. La technologie a évolué plus rapidement que notre savoir-faire en intégration. Ceux qui construisent les systèmes doivent penser non seulement aux bonnes fonctionnalités mais également aux interactions des systèmes, en prenant aussi en compte les contraintes de débit, de temps réel et de qualité de service : c’est une question qui ne se posait pas avec les systèmes fermés.

BPSI A quelles conditions peut-on construire des modèles fiables ?

Joseph Sikakis Pour construire des modèles fidèles, il faut se fixer des restrictions, qui vont permettre qu’un logiciel, par construction, soit vérifiable. Une certaine discipline dans la structuration s’impose. Cela dit, on sait bien qu’il existe des systèmes moins robustes que d’autres. C’est une question de coût : celui de la ligne de logiciel pour concevoir un avion est sans commune mesure avec celui de la ligne d’un logiciel ordinaire. Simplement parce qu’il faut appliquer des méthodologies qui font que la programmation s’avère beaucoup plus coûteuse. Les logiciels critiques, eux, ne sont pas développés selon les mêmes méthodes que les logiciels de type « best effort ». Exemple : les logiciels dans le domaine des télécommunications sont développés dans cette logique de « best effort ». Si le réseau a une défaillance, le système « fera de son mieux » pour satisfaire les exigences, mais si il n’y parvient pas, tant pis... En revanche, pour un système critique, cela peut coûter très cher, y compris en vies humaines. La notion de criticité n’est d’ailleurs pas uniquement technologique, elle peut être business. Par exemple, pour un fabricant de microprocesseurs, un développement bogué est susceptible de mettre en péril l’existence même de l’entreprise. Intel a ainsi créé un laboratoire de vérification après les incidents qu’a connus le Pentium en 1994..

BPSI Ce principe de vérification ne peut-il pas s’appliquer à tous les logiciels ?

Joseph Sikakis Non, car il existe une limitation pour pouvoir appliquer les techniques de vérification : le problème de la complexité et de la modélisation. Pour les systèmes complexes comme le Web ou même certains systèmes d’exploitation, on ne sait pas comment ils sont construits, probablement de façon anarchique. On n’en connaît donc pas le degré de complexité et ces systèmes complexes sont développés par itérations, par couches : on constate donc des interférences entre les différentes couches et les développements les plus anciens, alors que ces systèmes auraient dus être construits avec des briques, à l’image des immeuble ou des circuits électriques. Les impératifs de coûts font que les systèmes sont développés trop rapidement. Par exemple, dans le domaine des télécommunications, les ingénieurs connaissent bien l’effet dit de « feature interaction ». Un logiciel, pas très complexe, est intégré à un réseau et il interagit avec le reste des éléments du système et, s’il n’a pas été développé avec des méthodes structurées, l’interaction peut créer des dysfonctionnements.

BPSI Quel est selon vous le système le plus complexe ?

Joseph Sikakis Il n’y a pas de système « le » plus complexe. Tout dépend de la manière de mesurer la complexité et des exigences que l’on s’impose. Aujourd’hui, plus de 95 % des processeurs sont enfouis, embarqués. Il en existe des dizaines dans les voitures ou les appareils numériques. Ce que l’on ne voit pas est bien plus important que ce que l’on voit. Quel est le challenge ? L’’intégration des systèmes ! Ainsi, le Web constitue un système gigantesque, un moyen d’accès à des documents et des connaissances. Et deviendra un système encore plus complexe avec le « Web des objets » (Web of things), l’idée étant d’utiliser la même technologie (le protocole IP) pour accéder à des documents mais aussi à des objets... Cela signifie que le Web doit assurer des services robustes et sera un système ultracomplexe, avec de multiples sous-systèmes. Or, le risque, lorsque l’on fait communiquer des systèmes de fiabilités différentes, est que l’un, le moins fiable, « contamine » les autres. On ne parviendra jamais à fiabiliser toutes les infrastructures, le challenge sera de faire coopérer les systèmes critiques avec les autres en évitant des dégâts. Et de bâtir des systèmes à des prix abordables. Autrement dit, par exemple, incorporer les technologies des avions dans les voitures pour assurer une meilleure sécurité. Pour l’heure, les coûts restent très importants et les constructeurs automobiles qui ont souhaité s’engager dans cette voie ont abandonné, du fait de coûts dissuasifs.

BPSI Parvenir à des coûts abordables est-il quand même possible à terme ?

Joseph Sikakis Oui, c’est possible. La fiabilité excellente des systèmes avioniques peut se décliner pour des systèmes de taille plus modeste, par exemple pour la télémédecine. Le challenge, répétons-le, est d’intégrer des systèmes hétérogènes. Et il se peut que l’on ne parvienne pas à intégrer au-delà d’une certaine limite. Exemple de système de systèmes que l’on ne parvient pas à réaliser : le contrôle aérien de nouvelle génération. Les Américains travaillent sur ce dossier depuis les années 1980 et ont dépensé plusieurs milliards de dollars. Le problème est une gestion optimale de l’espace aérien. Aujourd’hui, il est géré statiquement : un avion décolle avec une route prédéfinie : son départ retardé peut entraîner le retard d’autres avions, ce qui est loin d’être une méthode optimale de gestion ! L’idée était de donner une autonomie à l’avion et à son pilote de sorte que la route soit recalculée dynamiquement en fonction des routes des autres avions. Mais, pour l’heure, on ne peut pas garantir la robustesse globale de ce « système de systèmes ».

BPSI Les méthodes de vérification pour les systèmes critiques peuvent-elles se décliner pour les systèmes d’information de gestion ?

Joseph Sikakis L’idée fait son chemin, on la retrouve dans le génie logiciel, avec des principes de structuration et les notions de composants logiciels. Tous les logiciels complexes sont construits à partir de composants : c’est un premier pas vers la vérification. à mon avis, les modèles de programmation actuels ne sont pas les bons et ne permettent pas aux ingénieurs une bonne maîtrise de ce qu’ils font, surtout lorsqu’il faut prendre en compte des exigences de sûreté et de sécurité. La productivité est certes un critère important et tout est question de compromis.

BPSI Vous avez reçu le Prix Turing, décerné par la prestigieuse ACM (Association for Computing Machinery) : comment jugez-vous la recherche américaine ?

Joseph Sikakis Il y a incontestablement une suprématie américaine dans le domaine de la recherche en informatique. Par rapport à la France, les différences sont énormes : la R&D américaine est très puissante et les institutions de recherche (MIT, Carnegie Mellon, Berkeley...) réalisent la meilleure recherche fondamentale et, surtout, couvrent tout le spectre, jusqu’à la recherche appliquée. Ces établissements sont des véritables machines de guerre, caractérisées par une étroite collaboration avec les industriels et un recrutement des meilleurs chercheurs et étudiants. Même lorsque ce sont les Européens qui trouvent des résultats, ce sont souvent les Américains qui les transforment en technologies commerciales. En revanche, l’un des grands avantages du système français est que l’on peut travailler dans la continuité sans être perturbé par les modes. La France a besoin d’organismes de recherche, tant que les universités ne sont pas suffisamment fortes et que l’industrie manque de capacités.

BPSI Les pays émergents acquièrent-ils des compétences pointues ?

Joseph Sikakis Le modèle est plutôt d’inspiration américaine, c’est très clair en Chine : les Chinois cherchent à mettre en place des établissements puissants et autonomes, avec des moyens pour attirer les chercheurs d’origine chinoise implantés aux états-Unis. Je suis très impressionné par les progrès de la Chine et de l’Inde. Ces pays produisent des ingénieurs de très bonne qualité avec un coût du travail compétitif. Potentiellement, c’est une menace.

BPSI Les Américains vous ont-ils fait des offres pour que vous alliez travailler outre-Atlantique ?

Joseph Sikakis Il y a eu des opportunités mais je préfère travailler en France.

Les principes du Model Checking

Le concept de Model Checking, issu de la recherche fondamentale, est désormais devenu une procédure standard pour garantir la qualité. Il a permis aux concepteurs et industriels de mettre au point des processus de vérification des problèmes qui touchent les matériels et les logiciels. Il a également autorisé les industriels à valider mathématiquement le fait que leurs systèmes complexes tiennent compte de leurs spécifications tout en renforçant la sécurité autour de leurs applications communes et critiques.

En savoir plus

Joseph Sifakis est directeur de recherche au CNRS et le fondateur du laboratoire Verimag (www-verimag.imag.fr/) à Grenoble. Après avoir commencé ses études en ingénierie électrique à Athènes, il rejoint le département Informatique de l’Université de Grenoble. Le laboratoire Verimag est un des premiers laboratoires de recherche dans le domaine des systèmes embarqués critiques. Il est à l’origine des fondements théoriques et technologiques ayant donné l’outil SCADE, utilisé par Airbus pour la conception et la validation des systèmes critiques temps réel. Cet outil est devenu depuis une référence dans l’aéronautique. Joseph Sifakis est reconnu pour ses travaux innovants, sur les aspects théoriques et pratiques de la spécification des modèles concurrentiels et leur vérification. Il a contribué à l’émergence du Model Checking, qui est devenu la méthode la plus utilisée actuellement pour la vérification des applications industrielles. Ses activités actuelles de recherche portent sur la conception à base de composants, la modélisation et l’analyse des systèmes temps réel avec un accent sur les techniques correctes par construction. Joseph Sifakis a reçu avec Ed Clarke et Allen Emerson pour leur contribution au Model Checking le Prix Turing 2007.

Best Practices propose des publications payantes.
Comparez nos différentes offres d'abonnement.

Philippe Rosé

Philippe Rosé

Docteur en sciences économiques et auteur d’une vingtaine d’ouvrages sur le management des systèmes d’information, Philippe Rosé est rédacteur en chef des publications Best Practices.

Nos Ouvrages

  • Symposiums Gartner : la synthèse

    Les équipes de Best Practices assistent chaque année au Symposium organisé par le cabinet Gartner qui présente des études, ses analyses et ses opinions sur l’évolution des technologies, du digital et des systèmes d’information.

  • La transformation digitale en 465 questions

    L’un des facteurs clés de réussite de la transformation digitale reste l’accès à la bonne expertise, aux meilleures pratiques et à tout ce qui peut favoriser le benchmark des organisations par rapport au marché, aux usages et aux technologies disponibles.

  • Benchmark Digital&Business - numéro 136

    Ce numéro de Benchmark Digital & Business regroupe l’essentiel des chiffres et des tendances présentés lors du Symposium Gartner 2020, qui s’est déroulé en novembre, à distance. Les quelques 4 000 slides mis à la disposition des participants ont été analysés, afin de trouver les informations et chiffres-clés les plus pertinents.

A ne pas manquer

  • Comment rater...
sa Data Integration

    Pour rater son intégration de données, rien de plus simple. C’est à la portée de toutes les entreprises ! Il suffit de suivre nos treize commandements et d’oublier la gouvernance, la qualité, la sécurité et les enjeux métiers.

  • Comment rater...
sa génération de leads

    Il existe un lien étroit entre le dynamisme commercial d'un éditeur de logiciels ou d'un intégrateur et la qualité des leads dont disposent les commerciaux pour maintenir leur performance. Mais il est très facile de ruiner votre performance commerciale.

  • Services managés : où en sont les entreprises françaises ?

    Best Practices a réalisé une enquête auprès des entreprises et organisations publiques françaises. Avec plusieurs objectifs : cerner les enjeux associés aux systèmes d’information, mesurer les usages des services managés les budgets associés.

Best Practices

Informations

REMARQUE ! Ce site utilise des cookies et autres technologies similaires.

Si vous ne changez pas les paramètres de votre navigateur, vous êtes d'accord. En savoir plus

J'ai compris