Multi-level automated refactoring using design exploration

  • Authors:
  • Iman Hemati Moghadam

  • Affiliations:
  • School of Computer Science and Informatics, University College Dublin, Ireland

  • Venue:
  • SSBSE'11 Proceedings of the Third international conference on Search based software engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the past few years, there has been a growing interest in automating refactoring activities using metaheuristic approaches. These current refactoring approaches involve source-to-source transformation. However, detailed information at source-code level makes precondition checking and source-level refactorings hard to perform. It also severely limits how extensively a program can be refactored. While design improvement tools can be used for a deep and fast design exploration, it is left to the programmer to manually apply the required refactorings to the source code, which is a burdensome task. To tackle the above problems, our proposal is based on a multi-level refactoring approach that involves both design and source code in the refactoring process. Initially, the program design is extracted from the source code. Then, in a design exploration phase, using a metaheuristic approach, the design is transformed to a better one in terms of a metrics suite as well as the user perspective. The source code is then refactored based on both the improved design and the metrics suite. Using this approach, we expect a deeper and faster exploration of the program design space, that may result more opportunities for design improvement.