Conference proceeding
Automatic clustering of software systems using a genetic algorithm
STEP '99. Proceedings Ninth International Workshop Software Technology and Engineering Practice, pp 73-81
1999
Abstract
Large software systems tend to have a rich and complex structure. Designers typically depict the structure of software systems as one or more directed graphs. For example, a directed graph can be used to describe the modules (or classes) of a system and their static interrelationships using nodes and directed edges, respectively. We call such graphs "module dependency graphs" (MDGs). MDGs can be large and complex graphs. One way of making them more accessible is to partition them, separating their nodes (i.e. modules) into clusters (i.e. subsystems). In this paper, we describe a technique for finding "good" MDG partitions. Good partitions feature relatively independent subsystems that contain modules which are highly interdependent. Our technique treats finding a good partition as an optimization problem, and uses a genetic algorithm (GA) to search the extraordinarily large solution space of all possible MDG partitions. The effectiveness of our technique is demonstrated by applying it to a medium-sized software system.
Metrics
16 Record Views
211 citations in Scopus
Details
- Title
- Automatic clustering of software systems using a genetic algorithm
- Creators
- D Doval - Drexel UniversityS MancoridisB.S Mitchell
- Publication Details
- STEP '99. Proceedings Ninth International Workshop Software Technology and Engineering Practice, pp 73-81
- Conference
- STEP '99. Proceedings Ninth International Workshop Software Technology and Engineering Practice, 9th
- Publisher
- IEEE
- Number of pages
- 1
- Resource Type
- Conference proceeding
- Language
- English
- Academic Unit
- Computer Science
- Scopus ID
- 2-s2.0-84980317183
- Other Identifier
- 991019173434804721