Software Architecture Recovery using Genetic Black Hole Algorithm
Kawal Jeet, Renu Dhir · ACM SIGSOFT Software Engineering Notes · 2015
Software clustering is a technique that is used to manage a software system by partitioning it into smaller subsystems containing highly related modules. Search-based software clustering techniques are found to be beneficial in effective partitioning of software systems. In this paper, we propose a search-based technique that is based on a combination of a nature-inspired black-hole algorithm and a genetic algorithm for software clustering. In order to evaluate the success of this approach, it has been applied to some real-world software systems. It is observed that this approach deduces a structure similar to the original architecture of the software system concerned.