• DocumentCode
    3570923
  • Title

    Towards a refactoring catalogue for knowledge discovery metamodel

  • Author

    Durelli, Rafael S. ; Santibanez, Daniel S. M. ; Delamaro, Marcio E. ; de Camargo, Valter Vieira

  • Author_Institution
    Inst. de Cienc. Mat. e Comput., Univ. de Sao Paulo, Sao Carlos, Brazil
  • fYear
    2014
  • Firstpage
    569
  • Lastpage
    576
  • Abstract
    Refactorings are a well known technique that assist developers in reformulating the overall structure of applications aiming to improve internal quality attributes while preserving their original behavior. One of the most conventional uses of refactorings are in reengineering processes, whose goal is to change the structure of legacy systems aiming to solve previously identified structural problems. Architecture-Driven Modernization (ADM) is the new generation of reengineering processes; relying just on models, rather than source code, as the main artifacts along the process. However, although ADM provides the general concepts for conducting model-driven modernizations, it does not provide instructions on how to create or apply refactorings in the Knowledge Discovery Metamodel (KDM) metamodel. This leads developers to create their own refactoring solutions, which are very hard to be reused in other contexts. One of the most well known and useful refactoring catalogue is the Fowler´s one, but it was primarily proposed for source-code level. In order to fill this gap, in this paper we present a model-oriented version of the Fowler´s Catalogue, so that it can be applied to KDM metamodel. In this paper we have focused on four categories of refactorings: (j´) renaming, (w) moving features between objects, (iii) organizing data, and (iv) dealing with generalization. We have also developed an environment to support the application of our catalogue. To evaluate our solution we conducted an experiment using eight open source Java application. The results showed that our catalogue can be used to improve the cohesion and coupling of the legacy system.
  • Keywords
    Java; data mining; software architecture; software maintenance; software quality; Fowler Catalogue; KDM metamodel; architecture-driven modernization; knowledge discovery metamodel; legacy system; open source Java application; quality attribute; reengineering process; refactoring catalogue; source-code level; Aging; Feature extraction; Measurement; Object oriented modeling; Software; Standards; Unified modeling language; ADM; Empirical Study; KDM; Refactoring;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Information Reuse and Integration (IRI), 2014 IEEE 15th International Conference on
  • Type

    conf

  • DOI
    10.1109/IRI.2014.7051940
  • Filename
    7051940