The design and implementation of a framework for automatic modularization of software systems
It is a difficult task to manually cluster a large software system into loosely coupled modules with a large number of highly cohesive classes. On the other hand clustering is a NP-Hard problem. In this paper the design and implementation of a flexible software environment, called DAGC to assemble and experiment with genetic clustering algorithms, for software (re)modularization, is described. The main idea behind the design of the DAGC is to define a general genetic clustering algorithm which may invoke different implementations for the parts from an extendable list of components. The DAGC provides visualization facilities to compare and evaluate different genetic clustering algorithms, regarding the two parameters of running time and the quality of clusters generated by the algorithms.
framework modularization clustering genetic algorithm confidence analysis