Two-phase Assessment Approach to Improve the Efficiency of Refactoring Identification

Ah Rim Han, Sungdeok Cha

Research output: Contribution to journalArticle

1 Citation (Scopus)

Abstract

To automate the refactoring identification process, a large number of candidates need to be compared. Such an overhead can make the refactoring approach impractical if the software size is large and the computational load of a fitness function is substantial. In this paper, we propose a two-phase assessment approach to improving the efficiency of the process. For each iteration of the refactoring process, refactoring candidates are preliminarily assessed using a lightweight, fast delta assessment method called the Delta Table. Using multiple Delta Tables, candidates to be evaluated with a fitness function are selected. A refactoring can be selected either interactively by the developer or automatically by choosing the best refactoring, and the refactorings are applied one after another in a stepwise fashion. The Delta Table is the key concept enabling a two-phase assessment approach because of its ability to quickly calculate the varying amounts of maintainability provided by each refactoring candidate. Our approach has been evaluated for three large-scale open-source projects. The results convincingly show that the proposed approach is efficient because it saves a considerable time while still achieving the same amount of fitness improvement as the approach examining all possible candidates.

Original languageEnglish
JournalIEEE Transactions on Software Engineering
DOIs
Publication statusAccepted/In press - 2017 Jul 25

    Fingerprint

Keywords

  • Computational efficiency
  • Couplings
  • Maintainability improvement
  • Measurement
  • Open source software
  • Refactoring assessment
  • Refactoring identification
  • Symmetric matrices
  • System analysis and design

ASJC Scopus subject areas

  • Software

Cite this