Reducing the class coupling of legacy code by a metrics-based relocation of class members

  • Authors:
  • Marvin Ferber;Sascha Hunold;Björn Krellner;Thomas Rauber;Thomas Reichel;Gudula Rünger

  • Affiliations:
  • University of Bayreuth, Germany;University of Bayreuth, Germany;Chemnitz University of Technology, Germany;University of Bayreuth, Germany;Chemnitz University of Technology, Germany;Chemnitz University of Technology, Germany

  • Venue:
  • CEE-SET'09 Proceedings of the 4th IFIP TC 2 Central and East European conference on Advances in Software Engineering Techniques
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the rapid growth of the complexity of software systems, the problem of integrating and maintaining legacy software is more relevant than ever. To overcome this problem, many methods for refactoring legacy code have already been proposed such as renaming classes or extracting interfaces. To perform a real modularization, methods have to be moved between classes. However, moving a single method is often not possible due to code dependencies. In this article we present an approach to modularize legacy software by moving multiple related class members. It is shown how to identify groups of class members with similar concerns. We present two different code patterns that the related members and their dependent classes must match to allow a relocation of the related members. We also demonstrate how our pattern-based approach for automated modularization of legacy software can be applied to two open source projects.