Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Implementing distribution and persistence aspects with aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Detection Strategies: Metrics-Based Rules for Detecting Design Flaws
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Role-based refactoring of crosscutting concerns
Proceedings of the 4th international conference on Aspect-oriented software development
Object-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
Handbook of Parametric and Nonparametric Statistical Procedures
Handbook of Parametric and Nonparametric Statistical Procedures
How we refactor, and how we know it
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
An Exploratory Study of the Impact of Code Smells on Software Change-proneness
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Defining and Applying Detection Strategies for Aspect-Oriented Code Smells
SBES '10 Proceedings of the 2010 Brazilian Symposium on Software Engineering
On the modularity of software architectures: a concern-driven measurement framework
ECSA'07 Proceedings of the First European conference on Software Architecture
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Revealing architecturally-relevant flaws in aspectual decompositions
Proceedings of the tenth international conference on Aspect-oriented software development companion
Understanding the longevity of code smells: preliminary results of an explanatory survey
Proceedings of the 4th Workshop on Refactoring Tools
Detecting architecturally-relevant code smells in evolving software systems
Proceedings of the 33rd International Conference on Software Engineering
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
Hi-index | 0.00 |
Although aspect-oriented programming (AOP) aims to improve software maintainability, developers can unwittingly introduce code smells in their programs. A code smell is any symptom in the source code that possibly indicates a deeper maintainability problem. Even though a few code smells for AOP have been reported in the literature, there is no evidence if and how they occur in evolving software projects. There is also little knowledge on their actual impact on maintenance effort, such as required refactorings or corrective changes in later software releases. This paper presents an exploratory analysis of code smells recurrently observed in a set of evolving aspect-oriented systems. We analyzed instances of code smells previously reported in the literature and newly-revealed ones. Our study involved in total 18 releases of 3 evolving aspect-oriented systems from different domains. The outcome of our evaluation suggests that previously-documented AOP smells might not occur as often as claimed. Our analysis also revealed that: (1) newly-discovered code smells might occur more often than well-known ones, and (2) the former ones seemed to be consistently associated with non-trivial refactorings and corrective changes.