posted on 2012-05-29, 09:06authored byIman Hemati-Moghadam, Mel Ó Cinnéide
Manual refactoring is tedious and error-prone, so it is natural
to try to automate this process as much as possible. Fully
automated refactoring usually involves using metaheuristic
search to determine which refactorings should be applied
to improve the program according to some tness function,
expressed in terms of standard software quality metrics.
Code-Imp (Combinatorial Optimisation for Design Im-
provement) is such an automated refactoring platform for
the Java language. It can apply a range of refactorings, sup-
ports several search types, and implements over 25 software
quality metrics which can be combined in various ways to
form a tness function. The original goal of the Code-Imp
project was to investigate the use of automated refactoring
to improve software quality as expressed by a contemporary
metrics suite.
In this paper we present a technical overview of the Code-
Imp implementation, and summarise three active research
strands involving Code-Imp: refactoring for testability, met-
rics exploration, and multi-level design improvement.
History
Publication
WRT '11 Proceedings of the 4th Workshop on Refactoring Tools;