Identification of refactoring opportunities introducing polymorphism

Nikolaos Tsantalis, Alexander Chatzigeorgiou
2010 Journal of Systems and Software  
Polymorphism is one of the most important features offered by object-oriented programming languages, since it allows to extend/modify the behavior of a class without altering its source code, in accordance to the Open/Closed Principle. However, there is a lack of methods and tools for the identification of places in the code of an existing system that could benefit from the employment of polymorphism. In this paper we propose a technique that extracts refactoring suggestions introducing
more » ... hism. The approach ensures the behavior preservation of the code and the applicability of the refactoring suggestions based on the examination of a set of preconditions. was with Intracom, Greece, as a telecommunications software designer. His research interests include object-oriented design, software maintenance and metrics. He is a member of the IEEE and the IEEE Computer Society.
doi:10.1016/j.jss.2009.09.017 fatcat:gay5ufon7fexldbl65wlg7acxa