Vues à vol d’oiseau sur les systèmes ...
Document type :
Thèse
Title :
Vues à vol d’oiseau sur les systèmes orientés objet
English title :
Bird-Eye Views of Object-Oriented Software
Author(s) :
Agouf, Nour Jihene [Auteur]
Inria Lille - Nord Europe
Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 [CRIStAL]
Inria Lille - Nord Europe
Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 [CRIStAL]
Thesis director(s) :
Anne Etien
Stéphane Ducasse
Stéphane Ducasse
Defence date :
2023-12-12
Jury president :
Jean-Michel Bruel [Président]
Jean-Rémy Falleri [Rapporteur]
Christelle Urtado [Rapporteur]
Arnaud Thiefaine
Jean-Rémy Falleri [Rapporteur]
Christelle Urtado [Rapporteur]
Arnaud Thiefaine
Jury member(s) :
Jean-Michel Bruel [Président]
Jean-Rémy Falleri [Rapporteur]
Christelle Urtado [Rapporteur]
Arnaud Thiefaine
Jean-Rémy Falleri [Rapporteur]
Christelle Urtado [Rapporteur]
Arnaud Thiefaine
Accredited body :
Université de Lille
Doctoral school :
École doctorale Mathématiques, sciences du numérique et de leurs interactions (Lille ; 2021-....)
NNT :
2023ULILB033
Keyword(s) :
Visualisation de programme
Qualité logicielle
Violation de programme
Qualité logicielle
Violation de programme
English keyword(s) :
Program Visualization
Program Comprehension
Reverse Ingineering
Modelization
Software Quality
Software Violation
Program Comprehension
Reverse Ingineering
Modelization
Software Quality
Software Violation
HAL domain(s) :
Informatique [cs]/Architectures Matérielles [cs.AR]
French abstract :
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 ...
Show more >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.Show less >
Show more >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.Show less >
English abstract : [en]
Software maintenance is a challenging task. It requires reading and understanding the software besides source code investigations and analysis. Maintainers usually rely on tools such as IDEs, tests and debuggers to navigate ...
Show more >Software maintenance is a challenging task. It requires reading and understanding the software besides source code investigations and analysis. Maintainers usually rely on tools such as IDEs, tests and debuggers to navigate through the source code, understand its logic, detect different anomalies and correct them, etc. However, such techniques can be time-consuming for maintainers and companies. In fact, according to the existing literature, more than half of the time dedicated to software maintenance is spent reading and understanding the source code before making any changes or decisions on the software.This thesis takes a distinct approach to software maintenance by offering novel visualizations that answer to maintainers' needs. Each visualization is dedicated to a specific task inspired by the needs of the software maintainers of our industrial partners. The research done in this thesis focuses on one main objective which is detecting software violations. Our definition of violations, however, concerns three main challenges: detecting architectural violations, naming conventions violations and (anti-) naming patterns and finally, violations of clean code principles inside classes. To address these challenges, targeted visualizations are proposed: Cliservo for the detection of architectural violations in client-server software, ClassName Distribution (CnD) for the detection of naming violations, and innovation of the patrimonial ClassBlueprint Visualization (CBv2) for detecting bad quality classes' source code. These visualizations assist maintainers in understanding and improving software systems, ultimately leading to more efficient and sustainable maintenance processes.Each of the visualizations is validated independently with software maintainers and a diversity of projects including the ones of our industrial partners.Show less >
Show more >Software maintenance is a challenging task. It requires reading and understanding the software besides source code investigations and analysis. Maintainers usually rely on tools such as IDEs, tests and debuggers to navigate through the source code, understand its logic, detect different anomalies and correct them, etc. However, such techniques can be time-consuming for maintainers and companies. In fact, according to the existing literature, more than half of the time dedicated to software maintenance is spent reading and understanding the source code before making any changes or decisions on the software.This thesis takes a distinct approach to software maintenance by offering novel visualizations that answer to maintainers' needs. Each visualization is dedicated to a specific task inspired by the needs of the software maintainers of our industrial partners. The research done in this thesis focuses on one main objective which is detecting software violations. Our definition of violations, however, concerns three main challenges: detecting architectural violations, naming conventions violations and (anti-) naming patterns and finally, violations of clean code principles inside classes. To address these challenges, targeted visualizations are proposed: Cliservo for the detection of architectural violations in client-server software, ClassName Distribution (CnD) for the detection of naming violations, and innovation of the patrimonial ClassBlueprint Visualization (CBv2) for detecting bad quality classes' source code. These visualizations assist maintainers in understanding and improving software systems, ultimately leading to more efficient and sustainable maintenance processes.Each of the visualizations is validated independently with software maintainers and a diversity of projects including the ones of our industrial partners.Show less >
Language :
Anglais
Collections :
Source :
Files
- document
- Open access
- Access the document
- These_AGOUF_Nour_Jihene.pdf
- Open access
- Access the document
- document
- Open access
- Access the document
- These_AGOUF_Nour_Jihene.pdf
- Open access
- Access the document