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

Ah Rim Han, Sungdeok Cha

Research output: Contribution to journalArticle

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

Maintainability

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

@article{1ad13aa83faa4156a4c78cdc81ed9ff8,
title = "Two-phase Assessment Approach to Improve the Efficiency of Refactoring Identification",
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.",
keywords = "Computational efficiency, Couplings, Maintainability improvement, Measurement, Open source software, Refactoring assessment, Refactoring identification, Symmetric matrices, System analysis and design",
author = "Han, {Ah Rim} and Sungdeok Cha",
year = "2017",
month = "7",
day = "25",
doi = "10.1109/TSE.2017.2731853",
language = "English",
journal = "IEEE Transactions on Software Engineering",
issn = "0098-5589",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - JOUR

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

AU - Han, Ah Rim

AU - Cha, Sungdeok

PY - 2017/7/25

Y1 - 2017/7/25

N2 - 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.

AB - 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.

KW - Computational efficiency

KW - Couplings

KW - Maintainability improvement

KW - Measurement

KW - Open source software

KW - Refactoring assessment

KW - Refactoring identification

KW - Symmetric matrices

KW - System analysis and design

UR - http://www.scopus.com/inward/record.url?scp=85028943370&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85028943370&partnerID=8YFLogxK

U2 - 10.1109/TSE.2017.2731853

DO - 10.1109/TSE.2017.2731853

M3 - Article

JO - IEEE Transactions on Software Engineering

JF - IEEE Transactions on Software Engineering

SN - 0098-5589

ER -