Metaheuristic approach to class responsibility assignment problem
Goran Glavaš, Krešimir Fertalj · MADOC (University of Mannheim) · 2011
Assigning responsibilities to classes is arguably the most important step when creating object-oriented software design. This step depends greatly on human judgment. Our objective is to automate this process using metaheuristic optimization algorithms. Four different algorithms (simple genetic algorithm, hill climbing, simulated annealing, and particle swarm optimization), using the same class coupling and cohesion metrics, were implemented and their results are compared. This paper describes responsibility dependency graph used as input, implemented algorithms and used evaluation metrics. Paper also reports on a performed case study. Ultimately, conclusions on search landscape of class responsibility assignment problem are drawn.