Title :
Clustering of Software Systems Using New Hybrid Algorithms
Author :
Mamaghani, Ali Safari ; Meybodi, Mohammad Reza
Author_Institution :
Comput. Eng. Dept., Islamic Azad Univ., Bonab, Iran
Abstract :
Software clustering is a method for increasing software system understanding and maintenance. Software designers, first use MDG graph to model the structure of software system. In MDG, system modules (e.g. files ,classes) are represented as nodes and their relationships (e.g. function calls , inheritance relationships) as directed edges that connect the nodes. Once the MDG created, clustering algorithms are applied and create a partitioned MDG. Graph partitioning is a NP-Complete problem, So many algorithms for solving it has been reported in the literatures. In this paper two approximate algorithms have been proposed. The first algorithm is based on object migration learning automata and the second algorithm is a hybrid evolutionary algorithm obtained from combining object migration learning automata and genetic algorithm. The second algorithm by using learning automata and genetic algorithm accelerates the searching process and also prevents the algorithm from getting stuck in local optimal. Another positive point of the proposed algorithm is high stability. The proposed algorithms have been compared with some of the existing algorithms. Results show that the second algorithm has superiority over the existing methods.
Keywords :
genetic algorithms; graph theory; learning automata; software maintenance; NP-complete problem; clustering algorithms; genetic algorithm; graph partitioning; hybrid evolutionary algorithm; object migration learning automata; searching process; software system maintenance; software system understanding; software systems clustering; Clustering algorithms; Evolutionary computation; Genetic algorithms; Learning automata; NP-complete problem; Partitioning algorithms; Software algorithms; Software design; Software maintenance; Software systems; Genetic Algorithm; Learning Automata; Module Dependency Graph.; Software Clustering;
Conference_Titel :
Computer and Information Technology, 2009. CIT '09. Ninth IEEE International Conference on
Conference_Location :
Xiamen
Print_ISBN :
978-0-7695-3836-5
DOI :
10.1109/CIT.2009.111