Computation of refactoring plans from refactoring strategies using HTN planning

  • Authors:
  • Javier Pérez;Yania Crespo

  • Affiliations:
  • Université de Mons;Universidad de Valladolid

  • Venue:
  • Proceedings of the Fifth Workshop on Refactoring Tools
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Complex refactoring processes, such as applying big refactorings or removing design smells are difficult to perform in practice. The complexity of these processes is partly due to their heuristic nature and to the constraints imposed by preconditions on the applicability of the individual refactorings. We introduce refactoring strategies as heuristic-based, automation-suitable specifications of a complex refactoring process. They allow us to specify correction strategies and big refactorings more formally than it is done in current catalogues. Refactoring strategies can be instantiated, for each particular case, into refactoring plans. We define refactoring plans as sequences of refactorings that are immediately applicable over the current system source code. We have developed an approach for instantiating refactoring strategies into refactoring plans that uses Hierarchical Task Network (HTN) planning. This paper describes this approach and presents a case study, in order to evaluate and characterise it.