Les outils de Jean-Rémy Falleri pour l’évolution logicielle

Distinctions Informatique

Auteur du réputé GumTree, Jean-Rémy Falleri conçoit des solutions pour faciliter les mises à jour et les améliorations des logiciels. Ce maître de conférences à Bordeaux INP et membre du Laboratoire bordelais de recherche en informatique (LaBRI - CNRS/Bordeaux INP/Université de Bordeaux), tente un changement de paradigme en étudiant non plus seulement les différences au sein du code source, mais aussi sur le comportement des programmes. Afin d’avancer sur ce projet, Jean-Rémy Falleri a été nommé pour cinq ans membre junior de l’Institut universitaire français.

Grande hantise des développeurs, les nouvelles versions d’un logiciel peuvent introduire des bugs critiques ou réduire les performances. Pour avoir une meilleure vision de leur travail, ils utilisent sur leur code source des algorithmes qui repèrent les différences, comme dans un traitement de texte en mode « correction ». La commande « diff » est ainsi employée depuis les années 70, mais ces outils ont peu progressé malgré les bouleversements qu’a vécus l’informatique.

Pour y répondre, Jean-Rémy Falleri étudie l’évolution logicielle, un domaine qui facilite la modification fréquente des programmes. Car entre les suites de bureautique et les solutions personnalisées pour une seule entreprise, certains logiciels ont en effet une durée de vie qui peut se compter en décennies, et sont soumis à diverses contraintes, comme les évolutions du matériel, les nouveaux besoins des usagers ou les changements dans la législation. Maître de conférences à Bordeaux INP, enseignant à l’Enseirb-Matmeca et membre du Laboratoire bordelais de recherche en informatique (LaBRI - CNRS/Bordeaux INP/Université de Bordeaux), Jean-Rémy Falleri s’attache donc à compléter la trousse à outils des développeurs.

 Les développeurs doivent pouvoir modifier avec succès des systèmes très complexes. Mon but est de les aider à mieux comprendre l’évolution d’un programme. 

Pour cela, le chercheur a conçu GumTree. En plus de son suivi des suppressions et ajouts de lignes de code, GumTree permet d’identifier des variables qui ont pu être renommées ainsi que des déplacements de code. Cet outil est particulièrement adapté au travail en équipe, où les environnements de développement divergent souvent selon les personnes. GumTree est en outre constant dans sa présentation et respecte la structure syntaxique d’un code.

Nommé cette année à l’Institut universitaire français (IUF), Jean-Rémy Falleri va disposer de davantage de temps de recherche pour aller au-delà de GumTree. « Au lieu de montrer ce qui change dans le code source, j’aimerais dévoiler les différences lorsque le logiciel est exécuté, précise Jean-Rémy Falleri. Il faudra également prendre en compte les usages du moment, comme les calculs distribués entre plusieurs machines, grâce au Cloud, ou la montée en puissance des IA entraînées par des algorithmes, et dont on ne maîtrise pas toutes les actions. » La simple description d’un logiciel par son code ne suffira plus avec ces nouveaux paramètres, le programme devra donc être comparé en entier et pendant son fonctionnement. Tout cela pendant que le volume et la complexité des données augmentent.

GumTree Crédit photo : Jean-Rémy Falleri
 Le comportement du programme est représenté par des objets mathématiques, les graphes, bien plus complexes que sa description, souvent limitée à un texte ou un arbre de syntaxe

L’objectif sera de trouver des algorithmes efficaces et rapides pour calculer les différences dans le logiciel, sans non plus noyer le développeur dans les détails. Les parties les plus importantes devront donc être identifiées et mises en avant de manière automatique. En prenant tous ces paramètres en compte, la mission devrait dépasser la durée du séjour de Jean-Rémy Falleri à l’IUF. « Je mesure la chance offerte d’avoir plus de temps et de moyens à consacrer à la recherche. J’espère que l’IUF sera un véritable accélérateur pour mes travaux. »

Un optimisme peut être dû à l’exemple de Xavier Blanc, professeur à l’université de Bordeaux, qui vient justement de terminer sa résidence de cinq ans à l’IUF. Ensemble, ils ont monté l’activité de recherche sur le génie logiciel à Bordeaux et, avec quatre autres collègues, assurent une production scientifique de plus en plus remarquée.

Contact

Jean-Rémy Falleri
Professor at Bordeaux INP, teaching at l’Enseirb-Matmeca, member of LaBRI