Précédent : Résultats nouveaux
Remonter : Projet LANDE, Conception et validation
Suivant : Actions régionales, nationales et
internationales
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).
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.
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).