Title :
Identification of Refused Bequest Code Smells
Author :
Ligu, Elvis ; Chatzigeorgiou, Alexander ; Chaikalis, Theodore ; Ygeionomakis, Nikolaos
Author_Institution :
Dept. of Appl. Inf., Univ. of Macedonia, Thessaloniki, Greece
Abstract :
Accumulated technical debt can be alleviated by means of refactoring application aiming at architectural improvement. A prerequisite for wide scale refactoring application is the automated identification of the corresponding refactoring opportunities, or code smells. One of the major architectural problems that has received limited attention is the so called ´Refused Bequest´ which refers to inappropriate use of inheritance in object-oriented systems. This code smell occurs when subclasses do not take advantage of the inherited behavior, implying that replacement by delegation should be used instead. In this paper we propose a technique for the identification of Refused Bequest code smells whose major novelty lies in the intentional introduction of errors in the inherited methods. The essence of inheritance is evaluated by exercising the system´s functionality through the corresponding unit tests in order to reveal whether inherited methods are actually employed by clients. Based on the results of this approach and other structural information, an indication of the smell strength on a ´thermometer´ is obtained. The proposed approach has been implemented as an Eclipse plug in.
Keywords :
inheritance; object-oriented methods; software maintenance; Eclipse plug in; accumulated technical debt; automated identification; inheritance; object-oriented systems; refused bequest code smells; wide scale refactoring application; Abstracts; Educational institutions; Europe; Maintenance engineering; Software maintenance; Software systems; Refused Bequest; code smell; refactoring; software maintenance;
Conference_Titel :
Software Maintenance (ICSM), 2013 29th IEEE International Conference on
Conference_Location :
Eindhoven
DOI :
10.1109/ICSM.2013.55