Revista Facultad de Ingeniería Universidad de Antioquia (Oct 2013)

Component-Based Java Legacy Code Refactoring

  • Hugo Arboleda,
  • Andrés Paz,
  • Jean-Claude Royer

DOI
https://doi.org/10.17533/udea.redin.17165
Journal volume & issue
no. 68

Abstract

Read online

Component-Based Software Engineering (CBSE) claims to improve software modularisation and to embed architectural concerns. Refactoring Java legacy code with CBSE in mind requires first assessing the compliance of legacy code with component programming principles. This paper presents a portfolio of rules to assess the compliance of Java legacy code with the Communication Integrity (CI) property, which is one of the major strengths of the CBSE approach. These rules are proposed with the objective of identifying implicit component types and thus provide a measure of the componentisation of an application. In order to help developers and legacy code maintainers when refactoring their applications, along with the rules, this work leads to define a set of refactoring actions. Additionally, the results of testing, comparing and analysing the outputs of refactoring several Java applications are also presented.

Keywords