Software Module Clustering Algorithm Using Probability Selection
- 19 March 2018
- journal article
- computer science
- Published by EDP Sciences in Wuhan University Journal of Natural Sciences
- Vol. 23 (2), 93-102
- https://doi.org/10.1007/s11859-018-1299-9
Abstract
Software module clustering problem is an important and challenging problem in software reverse engineering whose main goal is to obtain a good modular structure of the software system. The large complex software system can be divided into some subsystems that are easy to understand and maintain through the software module clustering. Aiming at solving the problem of slow convergence speed, the poor clustering result, and the complex algorithm, a software module clustering algorithm using probability selection is proposed. Firstly, we convert the software system into complex network diagram, and then we use the operation of merger, adjustment and optimization to get the software module clustering scheme. To evaluate the effectiveness of the algorithm, a set of experiments was performed on 5 real-world module clustering problems. The comparison of the experimental results proves the simplicity of the algorithm as well as the low time complexity and fast convergence speed. This algorithm provides a simple and effective engineering method for software module clustering problem.Keywords
This publication has 18 references indexed in Scilit:
- A similarity-based modularization quality measure for software module clustering problemsInformation Sciences, 2016
- Neural-Network-Based Online HJB Solution for Optimal Robust Guaranteed Cost Control of Continuous-Time Uncertain Nonlinear SystemsIEEE Transactions on Cybernetics, 2014
- Improving software modularization via automated analysis of latent topics and dependenciesACM Transactions on Software Engineering and Methodology, 2014
- Software Module Clustering using a Fast Multi-objective Hyper-heuristic Evolutionary AlgorithmInternational Journal of Applied Information Systems, 2013
- Software module clustering using a hyper-heuristic based multi-objective genetic algorithmPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2013
- Multi-granularity evolution analysis of software using complex network theoryJournal of Systems Science and Complexity, 2011
- Measuring Structural Quality of Object-Oriented Softwares via Bug Propagation Analysis on Weighted Software NetworksJournal of Computer Science and Technology, 2010
- A New Multi-objective Evolutionary Optimisation Algorithm: The Two-Archive AlgorithmPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2006
- Scale-free geometry in OO programsCommunications of the ACM, 2005
- Coupling and cohesion as modularization drivers: are we being over-persuaded?Published by Institute of Electrical and Electronics Engineers (IEEE) ,2003