SORMASA: A tool for Suggesting Model Refactoring Actions by Metrics-led Genetic Algorithm

During the development of object oriented software, de-pendencies (e.g. method call and use of attributes) betweenclasses emerge that were not identifled or specifled explic-itly at design time. This leads to a more complex softwaresystem than one desired having the same functionalities,hence, design modiflcations could be done in order to createa more manageable software in terms of maintenance andcode reuse. Hereby, design decisions should be revised inthe spirit of improving coupling and cohesion [4]. In orderto reach this result, refactoring actions are generally per-formed aiming to improve the quality of the software archi-tecture [1]. The ultimate goal is to increase cohesion of codeand reducing coupling, but still keeping the initial idea ofthe solution architecture and semantics. Agile programmingemphasized the role of refactoring up to support a processof

[1]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[2]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[3]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.