Software systems evolve and change with time due to change in business needs with the result that at some stage, the original design and architecture descriptions may not give exact representation of the actual software system. Accurate understanding of software architecture is very important for software maintenance because it helps in estimating scope of change, re%usability, cost, and risk involved in ch ange. In some cases, for instance in legacy systems, an accurate architectural description may not even exist and it becomes necessary to extract the same from source code. Software clustering is the process of decomposing large software system into sub%systems on the basis of similarity between units in the sub%systems, essentially a depiction of the architecture. Software clustering, however, is an NP%hard problem that can be efficiently handled with help of meta%heuristic approaches. Particle Sw arm Optimization (PSO) is an evolutionary meta%heur istic search based on flocking behavior of biological species and can be used to solve software clustering problem. This paper provides a novel framework for software clustering using PSO. The proposed algorithm is examined using three industrial software systems. Comparison of results with another mainstream meta% heuristic shows that the PSO approach performs better in terms of computational effort, consistency and quality of results.
['Ibrar Hussain 0002', 'Aasia Khanum', 'Abdul Qudus Abbasi', 'Muhammad Younus Javed']
A Novel Approach for Software Architecture Recovery using Particle Swarm Optimization