RMMOC: Refactoring Method based on Multi-Objective Algorithms and New Criteria

Document Type : Research Article

Authors

1 Department of Computer Engineering, Faculty of Engineering, Alzahra University, Tehran, Iran

2 Data Mining Lab, Department of Computer Engineering, Faculty of Engineering, Alzahra University, Tehran, Iran

Abstract

Some factors can change the software and affect the quality, such as the new users' requirements and the need for compatibility with modern techniques. These factors impose a high cost on technical software maintenance. One of the techniques for software quality improvement and maintenance cost reduction is refactoring. The advantage of this method is software behavior preservation. Because the cost of refactoring manually is high, a technique called the hybrid optimization problem has been proposed. The main challenge in refactoring is to propose a technique with high accuracy and less runtime. Hence, in the present work, a refactoring method based on the multi-objective algorithms called RMMOC is proposed to tradeoff between quality and runtime. In this method, a helpful search-based method called UMOCell is used to increase refactoring quality. This method inspires both population-based and local-based search algorithms. Another novelty in this paper is using new metrics for program quality assessment that help to increase accuracy, decrease runtime of refactoring, and find the best refactoring solutions. Because software metrics play a significant role in search-based refactoring approaches, this paper introduces two effective criteria called MPC and refactoring number reduction in addition to previous presented metrics. The results of experiments show that the performance of the proposed method is remarkable and using new metrics is effectiveness.

Keywords