Title: Refactoring packages of object-oriented software using genetic algorithm based community detection technique

Authors: Weifeng Pan; Bo Jiang; Youyang Xu

Addresses: School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, China ' School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, China ' School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, China

Abstract: Refactoring is regarded as an effective way to address the software quality deterioration problem. Although many refactoring approaches have been proposed, there is little work at the package level. This paper proposes to use the community detection technique to refactor the packages of object-oriented software. It uses software class network to represent classes and their dependencies, proposes a genetic algorithm based community detection algorithm to obtain the optimised package structures, and finally provides a list of classes that should be moved by comparing the optimised package structures with the real package structures. The empirical evaluation of the proposed approach has been performed in two open source Java projects, and the benefits of our approach are illustrated in comparison with the only one software refactoring approach at the package level (viz. adaptive k-nearest neighbour algorithm), and other five community detection algorithms used in the complex networks literature.

Keywords: refactoring packages; community detection; genetic algorithms; software networks; complex networks; object-oriented software; Java; software quality; open source; adaptive knn; k-nearest neighbour.

DOI: 10.1504/IJCAT.2013.056914

International Journal of Computer Applications in Technology, 2013 Vol.48 No.3, pp.185 - 194

Published online: 01 Oct 2013 *

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