Package Dependencies Analysis and Remediation in Object-Oriented Systems

par Jannik Laval

Thèse de doctorat en Informatique

Sous la direction de Stéphane Ducasse et de Nicolas Anquetil.

Soutenue le 17-06-2011

à Lille 1 , dans le cadre de École doctorale Sciences pour l'Ingénieur (Lille) .

  • Titre traduit

    Analyse et remédiation des dépendances entre paquetages dans les systèmes orientés objet


  • Résumé

    Les logiciels évoluent au fil du temps avec la modification, l’ajout et la suppression de nouvelles classes, méthodes, fonctions, dépendances. Une conséquence est que le comportement peut être placé dans de mauvais paquetages et casser la modularité du logiciel. Une bonne organisation des classes dans des paquetages identifiables facilite la compréhension, la maintenance, les tests et l’évolution des logiciels. Nous soutenons que les responsables manquent d’outils pour assurer la remodularisation logicielle. La maintenance des logiciels nécessite des approches qui aident à (i) la compréhension de la structure au niveau du paquetage et l’évaluation de sa qualité; (ii) l’identification des problèmes de modularité, et (iii) la prise de décisions pour le changement.Dans cette thèse nous proposons ECOO, une approche qui aide la remodularisation. Elle concerne les trois domaines de recherche suivants:- Comprendre les problèmes de dépendance entre paquetages. Nous proposons des visualisations mettant en évidence les dépendances cycliques au niveau des paquetages.- Proposer des dépendances qui devraient être changées. L’approche propose des dépendances à changer pour rendre le système plus modulaire.- Analyser l’impact des changements. L’approche propose une analyse d’impact du changement pour essayer les modifications avant de les appliquer sur le système réel. L’approche présentée dans cette thèse a été validée qualitativement et les résultats ont été pris en compte dans la réingénierie des systèmes analysés. Les résultats obtenus démontrent l’utilité de notre approche.


  • Résumé

    Software evolves over time with the modification, addition and removal of new classes, methods, functions, dependencies. A consequence is that behavior may not be placed in the right packages and the software modularization is broken. A good organization of classes into identifiable and collaborating packages eases the understanding, maintenance, test and evolution of software systems. We argue that maintainers lack tool support for understanding the concrete organization and for structuring packages within their context. Our claim is that the maintenance of large software modularizations needs approaches that help (i) understanding the structure at package level and assessing its quality; (ii) identifying modularity problems; and (iii) take decisions and verify the impact of these decisions.In this thesis, we propose ECOO, an approach to help reengineers identify and understand structural problems in software architectures and to support the remodularization activity. It concerns the three following research fields:- Understanding package dependency problems. We propose visualizations to highlight cyclic dependencies problems at package level.- Proposing dependencies to be changed for remodularization. The approach proposes dependencies to break to make the system more modular.- Analyzing impact of change. The approach proposes a change impact analysis to try modifications before applying them on the real system.The approaches presented in this thesis have been qualitatively and quantitatively validated and results have been taken into account in the reengineering of analyzed systems. The results we obtained demonstrate the usefulness of our approach.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse ?

  • Bibliothèque : Université des sciences et technologies de Lille. Service commun de la documentation. Bibliothèque virtuelle.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.