Projet Lande

previous up next contents
Précédent : Résultats nouveaux Remonter : Projet LANDE, Conception et validation Suivant : Actions régionales, nationales et internationales



Actions industrielles

Action ARGo

 

Participants : Mireille Ducassé , Erwan Jahier


  Mots-clés : Environnement de programmation, Mercury, Programmation logique, Débogage


Résumé : L'objectif du projet ARGo est de mettre en oeuvre un environnement industriel de développement de programmes logiques Mercury. Deux applications industrielles existantes seront portées sur le nouvel environnement afin de le valider. Ces applications concernent la facturation hospitalière et le diagnostic de matériel défectueux. LANDE est plus particulièrement concerné par les problèmes de débogage.

Le projet LANDE participe au projet industriel européen ARGo (Ruggedized and High performance logic Programming for the Real World, Industrial RTD Project No 25503, ref. Inria: 1 97 C 843, durée: 12 mois, début 1décembre 1997)

Les déclarations de type, de mode et de déterminisme font de Mercury un langage produisant un code à la fois plus efficace et plus sûr que les langages de programmation logique actuels. Les parties déterministes des programmes sont aussi rapides que leurs équivalents en C. De plus, beaucoup de fautes sont détectées dès la compilation. L'expérience de nos partenaires industriels montre, cependant, que les fautes résiduelles sont d'autant plus difficiles à localiser et comprendre qu'elles sont peu nombreuses. Un outil de débogage de haut niveau est donc nécessaire.

L'objectif du projet ARGo est de mettre en oeuvre un environnement industriel de développement de programmes logiques Mercury. Deux applications industrielles existantes seront portées sur le nouvel environnement afin de le valider. Ces applications concernent la facturation hospitalière et le diagnostic de matériel défectueux. LANDE est plus particulièrement concerné par les problèmes de débogage (cf. module  [*]).

Les partenaires industriels du consortium sont Mission Critical (Belgique) et Dassault Electronique (France). Mission Critical est le coordinateur du projet. Nos partenaires universitaires sont Katholieke Universiteit Leuven (Belgique), University of Melbourne (Australie), Facultés Universitaires Notre Dame de la Paix à Namur (Belgique).

Action CASTING



Participants : Daniel Le Métayer , Lionel Van Aertryck


Mots-clés : Test en boîte noire, Test en boîte blanche, Test structurel, Objectif de test, Contrainte, Jeu de test, Suite de test


Résumé : Nous avons proposé une méthode de génération de suites de tests qui forme le noyau de l'outil CASTING développé en collaboration avec la société AQL. La méthode est indépendante du format d'entrée, ce qui la rend uilisable aussi bien dans le cas du test structurel que fonctionnel. Les suites de tests engendrées dépendent de stratégies spécifiées par l'utilisateur, permettant ainsi d'atteindre la souplesse d'utilisation exigée pour un usage industriel.

Nous poursuivons une collaboration avec la société rennaise AQL qui s'est concrétisée par une bourse Cifre (Recherche et application de techniques formelles pour automatiser l'activité de tet de modules logiciels, ref Inria: 0 94 C 390, durée: 3 ans, début 15 août 1994). Cette action conduit à la réalisation du prototype CASTING, un outil d'aide à la génération de jeux de test (cf. module [*]).

L'activité de test représente une part importante du coût de développement des logiciels et les environnements existants sont encore très limités à cet égard. La phase de génération des données de test en particulier est souvent fastidieuse et mal supportée par les outils actuels. Afin de concevoir un outil de génération véritablement utilisable en milieu industriel, nous avons porté une attention particulière aux aspects suivants:

Une première version de CASTING sera disponible en janvier 1998 qui prendra en entrée des spécifications en B. Lionel Van Aertryck en poursuivra le développement dans le cadre d'une bourse de Post-Doc industrielle Inria avec AQL.

Action Java-Sécurité

 

Participants : Thomas Jensen , Daniel Le Métayer , Tommy Thorn


Mots-clés : Téléchargement, Sécurité, Sûreté, Chargement dynamique, Visibilité, Typage, Java


Résumé : Dans le cadre de l'action VIP du GIE Dyade, nous sommes attaqués à la formalisation de la sémantique du langage Java. Nous nous focalisons sur les règles de visibilité (des classes et de leurs membres) et leur évolution lors du chargement dynamique de classes. Il s'agit en effet de caractéristiques particulières de Java qui ont un impact direct sur la sécurité et dont les définitions informelles ne sont pas exemptes d'ambiguïtés ou d'insuffisances. Cette formalisation en terme de systèmes d'inférence nous a permis de décrire de manière rigoureuse l'origine d'une erreur de sécurité qui avait été découverte empiriquement par des chercheurs d'ATT.

Nous participons à l'action VIP du GIE Bull-Inria Dyade (avec le groupe de D. Bolignano de Bull et les projets CRISTAL et EUR´ECA de l'Inria). Le thème de cette collaboration est la formalisation de certains aspects de la sémantique de Java et la preuve de propriétés de sécurité de programmes (cf. module [*]). L'étude des problèmes de sécurité (au sens de confidentialité et d'intégrité notamment) dans le contexte du langage Java représente un défi de première importance pour plusieurs raisons:

Nous nous sommes attaqués à cette formalisation en nous focalisant sur les règles de visibilité (des classes et de leurs membres) et leur évolution lors du chargement dynamique de classes [34]. Il s'agit en effet de caractéristiques particulières de Java qui ont un impact direct sur la sécurité et dont les définitions informelles ne sont pas exemptes d'ambiguïtés ou d'insuffisances. Cette formalisation en terme de systèmes d'inférence nous a permis de décrire de manière rigoureuse l'origine d'une erreur de sécurité qui avait été découverte empiriquement par des chercheurs d'ATT. Notre objectif actuel est de définir de la même manière des politiques de sécurité afin de pouvoir étudier leur effet (c'est à dire les exigences qu'elles imposent) sur les composants d'une application Java (comme le chargeur de classes).



previous up next contents Précédent : Résultats nouveaux Remonter : Projet LANDE, Conception et validation Suivant : Actions régionales, nationales et internationales