Modularizing Software Systems using PSO optimized hierarchical clustering
Monika, Paramvir Singh · 2016
Software modularization is an automated process for restructuring software entities into modules to refine the software's design. Software systems are required to evolve in order to accommodate the changes relating to their functionalities, performance, and the supporting platforms. As software undergoes the required changes over the time, its structure deteriorates. In recent times, various clustering techniques have been applied to improve the architecture of such systems. Weighted Combined Algorithm (WCA) is a hierarchical clustering-based technique for restructuring software systems, which provides a multi-level architectural view of the system. In this paper, we propose an approach for optimizing WCA using Particle Swarm Optimization (PSO) for software modularization. To analyze the performance of the proposed algorithm, five open source java software systems were considered under the experimental study. The results of this experimental study show that proposed approach outperforms both WCA and PSO clustering techniques when applied to software modularization.