Domaines d'applications
Mots clés : sécurité, sûreté,
confidentialité, intégrité, logiciel critique, carte à puce,
commerce électronique, génération de jeux de test, outil de
débogage, architecture sécurisée .
Résumé :
Les deux cibles privilégiées du projet Lande sont:
- Les applications qui exigent un degré de confiance
très important justifiant l'emploi de méthodes formelles.
L'accent est mis en particulier sur la sécurité des
informations (confidentialité, intégrité).
- Les logiciels complexes ou qui nécessitent des
modifications fréquentes : il s'agit du domaine
d'excellence des langages de programmation
logique.
De par sa nature même, le projet Lande est orienté
« technologie » plutÔt que « domaine
d'application ». La plupart des domaines cités ici sont
donc des illustrations de travaux passés ou en cours, plutÔt
que des centres d'intérêt propres du projet. Un exception
peut être faite toutefois pour ce qui concerne la sécurité
des systèmes d'information (au sens de confidentialité et
d'intégrité notamment). Il s'agit d'un domaine d'application
où l'exigence de méthodes formelles se fait fortement sentir
et qui comporte des implications industrielles majeures, en
particulier pour le développement du commerce électronique.
Le projet Lande a investi depuis plusieurs années dans ce
domaine qui prend une importance croissante dans l'ensemble
de ses activités.
De manière générale, on peut identifier deux cibles
privilégiées pour les outils formels et les langages de haut
niveau qui sont étudiés dans le projet :
- La première concerne les applications complexes ou
exigeant un degré de confiance très important justifiant
l'emploi de méthodes formelles. Il peut s'agir de logiciels
critiques pour la confidentialité ou l'intégrité des
informations, la sécurité des personnes. Sur ce thème, nous
travaillons (dans le cadre de Dyade et du projet européen
secsafe) à l'analyse et la vérification de transformateurs
de bytecodes Java Card, avec comme domaine d'application la
sécurité des cartes à puce (cf modules 6.2.3, 7.3 et 7.4).
Les langages d'architectures de logiciels constituent
une démarche plus récente pour le développement de
logiciels complexes. Sur ce thème, nous sommes impliqués
dans une action industrielle (l'action
CASTOR cf 7.5) qui
porte sur la conception d'architectures sécurisées. Elle
s'effectue en collaboration avec Matra SI,
AQL, TNI et le projet
EP-ATR de l'Irisa.
On peut citer également dans cette catégorie nos
travaux sur la génération automatique de jeux de test qui
se poursuivent en collaboration avec l'éditeur d'outils
de tests Attol Testware et des industriels utilisateurs
comme Siemens et Spacebell (cf module 7.2).
- La seconde cible de nos travaux concerne les logiciels
qui nécessitent des modifications fréquentes : on peut
citer par exemple les systèmes qui mettent en oeuvre des
ensembles de règles (de facturation, de réservation, etc.)
devant suivre les évolutions du marché ou de la
législation. Il s'agit du domaine d'excellence des langages
de programmation logique. La mise en oeuvre du langage
Prolog réalisée dans le projet a
notamment été utilisée pour la programmation d'un module de
recherche de composants logiciels, pour la reconnaissance
de partitions musicales (cf module 5).