Design Stability Measures for Software Maintenance
IEEE Transactions on Software Engineering - Special issue on COMPSAC 1982 and 1983
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Managing application program maintenance expenditures
Communications of the ACM
Agile Software Development: Principles, Patterns, and Practices
Agile Software Development: Principles, Patterns, and Practices
An Introduction to Genetic Algorithms
An Introduction to Genetic Algorithms
Circular Layout in the Graph Layout Toolkit
GD '96 Proceedings of the Symposium on Graph Drawing
Using Automatic Clustering to Produce High-Level System Organizations of Source Code
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Scale-free geometry in OO programs
Communications of the ACM - Adaptive complex enterprises
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Identifying refactoring opportunities by identifying dependency cycles
ACSC '06 Proceedings of the 29th Australasian Computer Science Conference - Volume 48
The CRSS metric for package design quality
ACSC '07 Proceedings of the thirtieth Australasian conference on Computer science - Volume 62
Graph Clustering Via a Discrete Uncoupling Process
SIAM Journal on Matrix Analysis and Applications
Variable grouping in multivariate time series via correlation
IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics
An ant colony optimisation algorithm for constructing phylogenetic tree
International Journal of Computer Applications in Technology
Greedy continuous particle swarm optimisation algorithm for the knapsack problems
International Journal of Computer Applications in Technology
Particle swarm optimisation-based support vector machine for intelligent fault diagnosis
International Journal of Computer Applications in Technology
Hi-index | 0.00 |
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.