Refactoring Object-Oriented Applications towards a better Decoupling and Instantiation Unanticipation

Soumia Zellagui 1 Chouki Tibermacine 1 Hinde Lilia Bouziane 1 Abdelhak-Djamel Seriai 1 Christophe Dony 1
1 MAREL - Models And Reuse Engineering, Languages
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
Abstract : Modularity in Object-Oriented (OO) applications has been a major concern since the early years of OO programming languages. Migrating existing OO applications to Component-Based (CB) ones can contribute to improve modularity, and therefore maintainability and reuse. In this paper, we propose a method for source code transformation (refactoring) in order to perform this migration. This method enhances decoupling by considering that some dependencies between classes should be set through abstract types (interfaces) like in CB applications. In addition, some anticipated instantiations of these classes " buried " in the source code are extracted and replaced by declarative statements (like connectors in CB applications) which are processed by a dependency injection mechanism. For doing so, a set of modularity defects has been defined. These defects are first detected in the source code. Then, some refactoring operations are applied for their elimination. An implementation of the method was successfully experimented on a set of open source Java projects. The results of this experimentation are reported in this paper.
Document type :
Conference papers
Liste complète des métadonnées

Cited literature [12 references]  Display  Hide  Download

https://hal-lirmm.ccsd.cnrs.fr/lirmm-01706084
Contributor : Tibermacine Chouki <>
Submitted on : Saturday, February 10, 2018 - 4:42:47 PM
Last modification on : Friday, February 15, 2019 - 6:54:05 PM

File

SEKE2017.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Soumia Zellagui, Chouki Tibermacine, Hinde Lilia Bouziane, Abdelhak-Djamel Seriai, Christophe Dony. Refactoring Object-Oriented Applications towards a better Decoupling and Instantiation Unanticipation. SEKE: Software Engineering and Knowledge Engineering, Jul 2017, Pittsburgh, United States. ⟨10.18293/SEKE2017-119⟩. ⟨lirmm-01706084⟩

Share

Metrics

Record views

113

Files downloads

52