Réusinage de code d'applications à objets pour un meilleur découplage

par Soumia Zellagui

Projet de thèse en Informatique

Sous la direction de Christophe Dony.

Thèses en préparation à Montpellier , dans le cadre de École Doctorale Information, Structures, Systèmes (Montpellier ; 2015) , en partenariat avec Laboratoire d'Informatique, Robotique et Micro-électronique de Montpellier (laboratoire) et de Département Informatique (equipe de recherche) depuis le 01-10-2015 .


  • Résumé

    La modularité des applications à objets est une préoccupation majeure depuis les premières années des langages de programmation. En effet, cet intérêt résulte de la volonté de faire face aux difficultés de compréhension, de maintenancée et de réutilisation causées par les dépendances nombreuses et complexes entre les éléments de l'application. Cependant, les applications à base de composants sont caractérisées par un faible couplage et une forte cohésion (entre leurs éléments), ce qui les rend relativement faciles à comprendre, à maintenir et à réutiliser. Par conséquent, la migration des applications à objets en applications à composants peut contribuer à améliorer les caractéristiques de maintenabilité et réutilisabilité. Nos travaux de recherche s'articulent sur l'amélioration de la modularité des applications à objets en les restructurant en applications à composants. Nous nous intéressons, en particulier, au découplage en considérant que certaines dépendances entre les classes doivent être définies par le biais des types abstraits (interfaces) comme dans les applications à base de composants. En plus, certaines instanciations prévus `` enfouiées'' dans le code sont extraits et remplacées par des annotations qui sont traitées par un mécanisme d'injection de dépendance. Pour ce faire, un ensemble de défauts de modularité doit être identifié, Ces défauts sont supposés être la cause de défauts de modularité, et un ensemble d'opérations de refactoring doit être proposé pour leur élimination.

  • Titre traduit

    Object oriented applications refactoring for a better decoupling


  • Résumé

    Object-oriented (OO) application modularity has been a major concern since the early years of programming languages. Indeed, this interest results from the desire to cope with comprehension, maintenance and reuse difficulties caused by the numerous and complex dependencies between the application elements. Conversely, component-based (CB) applications are characterized by low coupling and high cohesion (between their elements), making them relatively easy to understand, maintain and reuse. Therefore, migrating OO applications to CB ones can contribute to improve the characteristics of maintainability and reusability. Our research are based on improving the modularity of OO applications by restructuring them to CB ones. We focus in particular on decoupling by considering that some dependencies between classes should be set through abstract types (interfaces) like in CB applications. In addition, some anticipated instanciations ``buried'' in the code are extracted and replaced by annotations which are processed by a dependency injection mechanism. For doing so, a set of modularity defects must defined. These defects are assumed to be the cause of modularity flaws. Also, a set of refactoring operations must be proposed for their elimination.