|
Themes /
Fiabilité du LogicielC Dony, C. Nebut, C Tibermacine, F Souchon (Doct.) C Urtado (Assoc.), S Vauttier (Assoc.)). Une part des travaux de DOC est axée sur l'aide à la fiabilisation des applications, toujours dans le contexte du génie logiciel pour les objets et composants"; nous l'étudions selon deux axes : la génération efficace de jeux de tests et la définition de systèmes de gestion des exceptions adaptés aux nouveaux langages et architecture logicielles Pour s'assurer de la qualité d'un logiciel, une des pratique les plus utilisées est le test, qui intervient à différentes phases de construction d'un logiciel (tests unitaires, d'intégration, système). L'écriture des tests est coûteuse, et se base, selon la phase de test, sur des documents de type exigences, analyse, ou conception. Automatiser l'écriture des tests, au moins partiellement, est possible dès lors que ces documents sont interprétables de manière non ambiguë. Nous avons proposé dans [lirmm-00102747] une approche de génération automatique de tests système à partir d'exigences sous forme de cas d'utilisation documentés par des contrats (pré- et post- conditions en logique du premier ordre). Cette approche a été adaptée de manière à permettre son application aux lignes de produits logicielles [lirmm-00377363]. Définir des systèmes de gestion des exceptions adaptés à la programmation par objets a été un des problèmes des années 90 et constitue un des points d'activité historique de notre équipe. Nous avons reconsidéré cette questions dans les années 2000 d'une part pour les applications de nouveaux types : web, mobiles, distribuées, ambiantes, parcellisées, assemblées à base de composants et d'autre part pour la spécification de la gestion des exceptions au niveau des modèles (selon une approche MDA). Pour ce qui est du premier point, une étude de longue portée a été engagée pour spécifier un système de gestion des exceptions générique (SAGE) [lirmm-00293683] dédié à toutes les formes d'objets actifs, selon la définition de G.C.Schmidt, qui englobe aussi bien les agents que divers types de composants comme les EJBs. La définition de ce système et une mise en œuvre dans le SMA MadKit ont fait l'objet de la thèse de Frédéric Souchon (soutenue en 2005). Une extension de ce système est aujourd'hui au coeur du projet ANR Facoma, en collaboration avec le LIP6, qui s'intéresse à la fiabilité des applications à agents ou composants via les mécanismes de réplication et de gestion d'exceptions. Un système d'agents répliqués et tolérants aux fautes [lirmm-00322415, lirmm-00293673] est ainsi en cours de réalisation. Pour ce qui est du second point, l'article [lirmm-00106504], réalisé en collaboration avec Jörg Kientzle (McGill University, Canada) pose les bases d'une spécification en UML des situations exceptionnelles dans une application. Nous avons organisé sur ces thématiques deux ateliers internationaux (WEH)associés aux conférences ECOOP'05 et FSE'08 [lirmm-00377319, lirmm-00106611] et co-édité un ouvrage de synthèse [lirmm-00117328]. La prospective et les défis dans ces domaines peuvent se résumer en trois grand points : a) il n'existe encore aucun langage de programmation à objet ni a fortiori a composants qui propose un système et des stratégies de gestion des exceptions qui emporte l'adhésion des développeurs, b) il n'existe pas de système satisfaisant pour gérer les exceptions dans les applications à base de composants (type EJB) ou de web-services, c) on cherche toujours une approche systématique pour spécifier et gérer les exceptions à travers les étapes du cycle de vie. Il est prévu que les collaborations précédemment décrites se poursuivent à ces sujets. |