Skip to Main Content
Effective life time of any software can be increased many folds by proper and up to date maintenance. Automated software module clustering is a method used by software professionals to recover high-level structure of the system by decomposing the system into smaller manageable subsystems, containing interdependent modules. Once the structure of the system is clear, the understanding of any system for proper maintenance can be achieved. We have proposed an automated clustering approach based on the principles of Evolution Strategies to search a large solution space consisting of modules and their relationships. Our approach tries to achieve near optimal decompositions consisting of independent subsystems, containing interdependent modules. We have compared our proposed approach with a widely used Genetic Algorithm based clustering technique and our approach worked better in all test cases. In this paper, we are highlighting one distinguishing feature of our approach: the consistency in results. For any optimization algorithm, exactly similar results in different executions of the algorithm on same data cannot be achieved. However, the results should remain in close proximity and should not change drastically. We have carried out a comparative study of our approach and the Genetic Algorithm based approach using a set of test systems. The results with our approach are always consistent than those produced by the Genetic Algorithm based approach.
Date of Conference: 3-5 Dec. 2008