Date Added: May 2010
Behavior and state allocation in object-oriented systems is a rather non-trivial task that is hard to master and automate since it is guided by conceptual criteria and therefore relies on human expertise. Since attributes and methods can be placed in the classes of a system in uncountable different ways, the task can be regarded as a search space exploration problem. In this paper, the authors present their experience from treating this issue by a genetic algorithm, which in contrast to previous approaches, is aiming at single-objective optimization. The fitness function is based on a novel metric which ensures that optimization improves both coupling and cohesion.