Title :
Defining and Applying Detection Strategies for Aspect-Oriented Code Smells
Author :
Macia, Isela ; Garcia, Alessandro ; von Staa, Arndt
Author_Institution :
Inf. Dept., Pontifical Catholic Univ. of Rio de Janeiro, Rio de Janeiro, Brazil
fDate :
Sept. 27 2010-Oct. 1 2010
Abstract :
A code smell is any symptom in the source code that possibly indicates a bad design or programming problem. Many code smells in aspect-oriented programming (AOP) are very different from those in object-oriented programming. Therefore, new detection strategies should be conceived to identify whether a particular slice of aspect-oriented code is affected by a specific smell. Unfortunately, research on AOP usually focuses on providing abstract descriptions of code smells, without providing operational definitions of their detection strategies. Such strategies are becoming increasingly required due to the growing use of AOP in the development of long-living systems, including frameworks, libraries and software product lines. This paper presents a family of metric-based strategies that support the detection of recurring smells observed in existing aspect-oriented systems. We analyzed the accuracy of such smell detection strategies and also of those previously reported in the literature. Our study involved in total 17 releases of 3 evolving aspect-oriented systems from different domains. The outcome of our evaluation suggests that strategies for previously-documented AOP smells do not present a satisfactory accuracy. Our analysis also revealed that: (1) newly-discovered strategies achieved better results than well-known ones, and (2) the detection strategies seem to have high accuracy with respect to the identification of both trivial and non-trivial code smells.
Keywords :
aspect-oriented programming; chemioception; libraries; object-oriented programming; software metrics; AOP; aspect-oriented programming; code smells; libraries; long-living systems; metric-based strategies; object-oriented programming; software product lines; source code; Accuracy; Catalogs; Complexity theory; Context; Measurement; Programming; Software; AOP; Code Smell; Detection Strategy; Exploratory Study;
Conference_Titel :
Software Engineering (SBES), 2010 Brazilian Symposium on
Conference_Location :
Salvador, Bahia
Print_ISBN :
978-1-4244-8917-6
Electronic_ISBN :
978-0-7695-4273-7
DOI :
10.1109/SBES.2010.14