This paper describes a collection of algorithms that we developed and implemented to facilitate the automatic recovery of the modular structure of a software system from its source code. We treat automatic modularization as an optimization problem. Our algorithms make use of traditional hillclimbing and genetic algorithms.
Spiros Mancoridis, Brian S. Mitchell, C. Rorres, Y