Title :
A heuristic approach to solving the software clustering problem
Author :
Mitchell, Brian S.
Author_Institution :
Dept. of Comput. Sci., Drexel Univ., Philadelphia, PA, USA
Abstract :
This paper provides an overview of the author\´s Ph.D. thesis (2002). The primary contribution of this research involved developing techniques to extract architectural information about a system directly from its source code. To accomplish this objective a series of software clustering algorithms were developed. These algorithms use metaheuristic search techniques to partition a directed graph generated from the entities and relations in the source code into subsystems. Determining the optimal solution to this problem was shown to be NP-hard, thus significant emphasis was placed on finding solutions that were regarded as "good enough" quickly. Several evaluation techniques were developed to gauge solution quality, and all of the software clustering tools created to support this work was made available for download over the Internet.
Keywords :
computational complexity; heuristic programming; reverse engineering; software maintenance; software tools; NP-hard; directed graph; heuristic approach; metaheuristic search techniques; optimization; software clustering; software tools; solution quality; system source code; Algorithm design and analysis; Clustering algorithms; Computer science; Data mining; Partitioning algorithms; Reverse engineering; Software algorithms; Software maintenance; Software systems; Software tools;
Conference_Titel :
Software Maintenance, 2003. ICSM 2003. Proceedings. International Conference on
Print_ISBN :
0-7695-1905-9
DOI :
10.1109/ICSM.2003.1235432