Title: Identifying the move method refactoring opportunities based on evolutionary algorithm

Authors: Wei-Feng Pan; Jing Wang; Mu-Chou Wang

Addresses: School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, China ' School of Software and Communication Engineering, Jiangxi University of Finance and Economics, Nanchang 330013, China ' Wenzhou University Library, Wenzhou University, Wenzhou 325035, China

Abstract: Evolution is an intrinsic property of real-world software, which is usually accompanied by the degrading in software quality. Software refactoring is regarded as an effective way to improve the design of the code, and many refactoring approaches have been proposed. In this paper, we transform the software refactoring problem as an optimisation problem, and present a simple evolutionary algorithm (EA) to identify the move method refactorings. It uses software networks at the feature (i.e., method and attribute) level, namely SFN, to represent features and their dependencies; it uses an EA to obtain the optimised class structures in SFN. It finally provides a list of methods that should be moved by comparing the optimised class structures with the real class structures. The empirical evaluation of the proposed approach has been performed on one widely known refactoring example, and the feasibility of our approach is illustrated.

Keywords: software refactoring; evolutionary algorithms; software networks; community detection; optimisation.

DOI: 10.1504/IJMIC.2013.052300

International Journal of Modelling, Identification and Control, 2013 Vol.18 No.2, pp.182 - 189

Published online: 31 Jul 2014 *

Full-text access for editors Full-text access for subscribers Purchase this article Comment on this article