Thesis of Nour jihene Agouf

Vues à Vol d'Oiseau sur les Systèmes Orientés-Objet

La maintenance logicielle est une tâche complexe. Elle requiert la lecture et la compréhension du programme ainsi que des investigations et des analyses du code source. Les mainteneurs se reposent généralement sur des outils tels que les environnements de développement intégrés (IDEs), les tests et les débogueurs pour naviguer à travers le code source, comprendre sa logique, détecter différentes anomalies et les corriger, etc. Cependant, ces techniques sont chronophages pour les mainteneurs et les entreprises. En effet, selon la littérature existante, plus de la moitié du temps consacré à la maintenance logicielle est attribué à la lecture et à la compréhension du code source avant de prendre des décisions ou d’apporter des modifications au logiciel. Cette thèse aborde la tâche de maintenance logicielle de manière nouvelle en proposant des visualisations novatrices qui répondent aux besoins des mainteneurs. Chaque visualisation est dédiée à une tâche spécifique inspirée des besoins des mainteneurs de logiciels de nos partenaires industriels. La recherche menée dans cette thèse se concentre sur un objectif principal qui est la détection de violations logicielles. Notre définition des violations, cependant, concerne trois principaux défis : la détection de violations architecturales, de violations de conventions de nommage et de (anti-)patterns de nommage, ainsi que de violations des principes du code propre à l’intérieur des classes. Pour relever ces défis, des visualisations ciblées sont proposées : Cliservo pour la détection des violations architecturales des programmes client-serveur. La ClassName Distribution (CnD) pour la détection de violations de nommage, et une amélioration de la ClassBlueprint originale (CBv2) pour la détection du code des classes de mauvaise qualité. Ces visualisations aident les mainteneurs à comprendre et à améliorer les systèmes logiciels, conduisant finalement à des processus de maintenance plus efficaces et durables. Chacune des visualisations est validée indépendamment auprès des mainteneurs de logiciels et sur une diversité de projets, y compris ceux de nos partenaires industriels.

Jury

Mme Anne ETIEN Université de Lille, Inria Directrice de thèse, M. Jean-Michel BRUEL IRIT Examinateur, M. Stephane DUCASSE Inria Co-directeur de thèse, M. Jean-Remy FALLERI Universite de Bordeaux Rapporteur, Mme Christelle URTADO IMT Mines Alès Rapporteure, M. Arnaud THIEFAINE Arolla Invité.

Thesis of the team EVREF defended on 12/12/2023