L’équipe GEODES compte aujourd’hui plus de 25 étudiants à la maîtrise, au doctorat et au post-doctorat. L’équipe est dirigée par trois professeurs du DIRO : Michalis Famelis, Houari Sahraoui et Eugene Syriani. GEODES a été fondée au DIRO en 1992 (initialement appelée GeLo). Depuis, plus d’une centaine d’étudiants ont obtenu un diplôme de maîtrise et plus d’une trentaine ont été diplômés au PhD. Plusieurs de ces étudiants sont professeurs au Québec, au Canada et dans le monde (ÉTS, Laval, Polytechnique, UQAM, Ottawa, DePaul, Houston, Indiana, Michigan, United Arab Emirates, etc.) ; d’autres occupent des postes clés au sein de grandes entreprises de technologie. L’équipe a développé plusieurs partenariats avec des PME locales et de grands groupes industriels œuvrant dans le secteur des technologies de l’information.
Le fil directeur de la recherche dans l'équipe GEODES est l’automatisation en génie logiciel. Un des axes de recherche principaux est l’ingénierie dirigée par les modèles (model-driven engineering – MDE). Le MDE est une approche de développement logiciel qui promeut la modélisation des systèmes à des niveaux d'abstraction plus élevés que la programmation traditionnelle. L’équipe GEODES conçoit des langages de modélisation spécifiquement conçus pour des domaines particuliers, ce qui restreint le modélisateur à ne penser qu’au niveau d’abstraction désiré et réduire la complexité accidentelle imposée par la plupart des outils et langages de programmation génériques. Les modèles résultants sont des artéfacts de développement qui sont souvent transformés dans le but de générer le code automatiquement, effectuer de l’analyse formelle du système, générer et effectuer les tests, ou déployer en production. L’équipe GEODES a contribué sous plusieurs angles au MDE tels que par la conception d’outils de modélisation génératifs (AToMPM), des langages de transformation de modèles et des générateurs de code. Avec nos partenaires industriels, l’équipe GEODES a développé plusieurs solutions en utilisant le paradigme MDE, tel que dans le domaine de la migration logiciel, dans le déploiement d’applications web (ReLiS) et la simulation de voitures autonomes. Dernièrement, l’équipe s’intéresse à améliorer l’expérience utilisateur dans l’utilisation d’outils de modélisation en proposant de nouveaux modes d’interaction avec le logiciel et en automatisant les flux de travail. L’équipe GEODES organise le congrès ACM/IEEE MODELS au Campus MIL cet automne 2020, le plus grand rassemblement de la communauté MDE à travers le monde.
Un second axe de recherche principal est l’utilisation des techniques de l’intelligence artificielle pour favoriser l’automatisation des tâches de développement et de maintenance de logiciels. Dès les années 1990, l’équipe GEODES a proposé des modèles permettant la prédiction de la qualité des logiciels, incluant les applications web, et leur ré-usinage. Ces modèles ont été obtenus par apprentissage automatique à partir de données historiques. Par la suite, l’apprentissage automatique a également été utilisé pour développer des modèles probabilistes d’analyse de l’impact des changements dans les logiciels. Plus récemment, des approches évolutionnistes ont été utilisées pour apprendre certains types de programmes comme les règles de transformation ou de vérification de modèles, ou pour faire de la réparation automatique de programmes. Ces mêmes approches ont contribué à sophistiquer nos travaux sur la visualisation de logiciels de grandes tailles. Ainsi, de nouvelles fonctionnalités ont été intégrées dans notre environnement de visualisation VERSO, permettant une analyse visuelle efficace de logiciels comportant des milliers de concepts. Actuellement, la majorité de l’effort de recherche dans cet axe se concentre sur la de développement de techniques permettant d’assister les développeurs dans leurs tâches d’écriture et de modification de code, et les concepteurs dans leurs tâches de modélisation. Ceci inclut l’auto-complétion et l’utilisation efficace des librairies logicielles.
Un troisième axe de recherche principal est la création de techniques et de méthodes formelles en pratique pour l’analyse du logiciel. L’idée est d’utiliser des approches de modélisation et d’analyse formelle et empirique afin d'améliorer la pratique du génie logiciel. La méthodologie est d’étudier le contexte du développement du logiciel et de créer de nouvelles techniques qui utilisent des abstractions spécifiques au domaine, soutenues par une automatisation rigoureuse. Dans ce cadre, l’équipe GEODES s’est concentrée sur les domaines où la gestion de variabilité à grande échelle pose un défi. D’une part, les écosystèmes industriels modernes sont souvent axés vers le soutien de la personnalisation. Cela exige l’utilisation des techniques de ligne de produits logiciels (software product line engineering – SPLE) qui permettent la spécification, la gestion et l'analyse de grandes familles de produits logiciels reliés, chacun étant similaire, mais différent de tous les autres. Les chercheurs de GEODES travaillent sur la conception, l’analyse et la transformation des lignes de produits logiciels, basés sur le paradigme MDE. D’autre part, il y a question de détecter, modéliser, analyser et gérer au mieux l'incertitude durant le cycle de vie du développement de systèmes logiciels. Cela a des applications pratiques dans la gestion des lignes de produits logiciels ainsi que la gestion à grande échelle des artefacts logiciels et la conception collaborative.
Portrait d’un ancien diplômé de GEODES
Marouane Kessentini a obtenu son doctorat de l'Université de Montréal en 2012, au sein de l’équipe GEODES. Ses travaux ont porté sur la transformation automatique de modèles par l’exemple. Il est actuellement professeur agrégé au Département d'informatique et des sciences de l'information de l'Université du Michigan-Dearborn, après un passage par Missouri University of Science and Technology. Il a reçu plusieurs prix dont le prix du président de Tunisie du chercheur de l’année (2018) et les prix d’excellence en enseignement (2017), d’excellence en éducation numérique (2018) et d’excellence en recherche (2018) de l’université du Michigan-Dearborn. Il a également obtenu plusieurs subventions majeures de recherche telles que des NSF Research Grants (2014, 2016, 2017 et 2018) ou Ford Research Grant (2015).
Plusieurs compagnies ont adopté ses prototypes de recherche, via le bureau de transfert de technologie de l'Université du Michigan, sur le ré-usinage et les tests de logiciels. Il est considéré comme un chercheur de premier plan dans le domaine du ré-usinage des logiciels (refactoring). Ainsi, il a été nommé président des comités de programme des conférences GECCO 2015 (SBSE) et ACM/IEEE MODELS2019, et président général de la conférence SSBSE 2016. Il présidera, par ailleurs, la conférence prestigieuse ACM/IEEE Automated Sofware Engineering en 2021.
Houari Sahraoui