Mots clés : programmation sûre,
logiciel certifié, transports, télécommunications .
Résumé :
Les éléments logiciels présents dans les appareils
modernes ont une importance cruciale pour le bon
fonctionnement de ces appareils. Dans de nombreux cas, il
n'est plus possible de recourir uniquement à des campagnes
de tests pour assurer leur correction et des techniques de
programmation certifiée doivent être développées et mises à
la portée des ingénieurs. Notre travail sur les
spécifications formelles et les preuves contribue à cet
effort.
Les appareils que nous utilisons dans notre vie
quotidienne contiennent une quantité croissante de logiciel.
Ce logiciel contribue à la compétitivité de ces appareils en
permettant des utilisations plus simples du point de vue de
l'utilisateur, mais souvent plus complexes en réalité.
Jusqu'à maintenant, les erreurs de programmation étaient
une caractéristique admise et le coût de telles erreurs était
réduit par la possibilité de faire intervenir un opérateur
humain pour diagnostiquer les pannes et corriger les erreurs
manuellement. Lorsque le logiciel est embarqué, ceci n'est
plus possible. Le coût d'une erreur pour l'entreprise qui
utilise ce logiciel devient beaucoup plus important: rappel
de voitures déjà vendues, fusées ou sondes spatiales dont les
missions échouent, accidents de véhicules de transport.
De nombreuses équipes de recherche mettent au point des
techniques qui permettent de développer des logiciels validés
vis-à-vis de spécifications, ce qui permettrait théoriquement
de réduire le risque d'erreur à zéro (en pratique des erreurs
peuvent également se glisser dans les spécifications). Ces
techniques sont plus ou moins coûteuses et plus ou moins
générales. Avec le logiciel COQ, fondé sur une
théorie typée d'un grand pouvoir d'expression, on se trouve à
un bout du spectre : on peut aborder des problèmes très
variés et complexes mais avec un coût de développement très
important
. Les recherches que
nous faisons contribuent à diminuer ce coût, d'une part par
la recherche de théories typées permettant des spécifications
plus concises, d'autre part par le développement de
bibliothèques d'exemples. Nos recherches dans ce domaine sont
le lieu de collaborations avec un constructeur
aéronautique.