id: Simula.SE.635
authors: Mike Bowman, Lionel Briand, and Yvan Labiche
title: Solving the Class Responsibility Assignment Problem in Object-oriented Analysis  with Multi-Objective Genetic Algorithms 
publication_year: 2010
abstract: In the context of object-oriented analysis and design (OOAD), class responsibility assignment is not an  easy skill to acquire. Though there are many methodologies for assigning responsibilities to classes,  they all rely on human judgment and decision making. Our objective is to provide decision-making  support to re-assign methods and attributes to classes in a class diagram. Our solution is based on a  multi-objective genetic algorithm (MOGA) and uses class coupling and cohesion measurement for  defining fitness functions. Our MOGA takes as input a class diagram to be optimized and suggests  possible improvements to it. The choice of a MOGA stems from the fact that there are typically many  evaluation criteria that cannot be easily combined into one objective, and several alternative solutions  are acceptable for a given OO domain model. Using a carefully selected case study, this article  investigates the application of our proposed MOGA to the class responsibility assignment problem, in  the context of object-oriented analysis and domain class models. Our results suggest that the MOGA  can help correct suboptimal class responsibility assignment decisions and perform far better than  simpler alternative heuristics such as hill climbing and a single objective GA.
publication_url: 
pdf_url: 
journal: IEEE Transactions on Software Engineering
volume: 36
number: 6
pages: 817-837 
pmid: 
DOI: 
keywords: ()
publication_month: November-December
note: 
annote: 
additional: []
location: 
publication_state: Published
simula_ou: [<Department at /simula/department/certus>, <Department at /simula/research/approve>]
publisher_url: 

