Software refactoring side effects

Amjad AbuHassan, Mohammad Alshayeb*, Lahouari Ghouti

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


Software refactoring solutions aim at mitigating the negative effects of code and design smells on the overall software quality. Many efforts have been exerted to improve the software refactoring process. However, most of these efforts, despite their contributions, overlooked the side effects of the identified refactoring opportunities that may lead to new smells that will go unnoticed. This paper addresses the side effects of software refactoring and proposes sound solutions for handling them. Unlike current practices in software maintenance, we recommend three different approaches to handle the refactoring side effects. In the first approach, called the baseline, we opt to ignore the smells, caused by refactoring, while executing the identified refactoring decisions. In the second one, refactoring decisions are continually updated to fix all smells caused by side effects. In the last approach, only a subset of these smells is appended to the original smell sequence during the execution of the refactoring decisions. Thanks to the proposed approaches, optimal refactoring decisions are identified using a multi-objective (MO) optimization algorithm commonly known as the MO covariance matrix adaptation evolution strategy (MO-CMA-ES). Experiment results corroborate our assumptions and show the superiority of the second approach over the other ones.

Original languageEnglish
JournalJournal of software: Evolution and Process
StateAccepted/In press - 2021

Bibliographical note

Funding Information:
A. AbuHassan and M. Alshayeb would like to acknowledge the support provided by the Deanship of Scientific Research at King Fahd University of Petroleum and Minerals. L. Ghouti acknowledges the support of Prince Sultan University.

Publisher Copyright:
© 2021 John Wiley & Sons, Ltd.


  • MO-CMA-ES algorithm
  • multi-objective optimization
  • refactoring side effects
  • smell prioritization
  • software refactoring

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Software refactoring side effects'. Together they form a unique fingerprint.

Cite this