OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Object-oriented software engineering
Object-oriented software engineering
Program restructuring as an aid to software maintenance
Program restructuring as an aid to software maintenance
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Java design patterns: a tutorial
Java design patterns: a tutorial
Letters to the editor: go to statement considered harmful
Communications of the ACM
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Quantifying aspects in middleware platforms
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Refactoring Workbook
Aspects: from promise to reality
Proceedings of the 3rd international conference on Aspect-oriented software development
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
Refactoring to Patterns
Migrating Interface Implementation to Aspects
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
Deriving refactorings for AspectJ
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
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
Aspect Oriented Refactoring
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Refactoring a Java Code Base to AspectJ: An Illustrative Example
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Modular Software Design with Crosscutting Interfaces
IEEE Software
Framework specialization aspects
Proceedings of the 6th international conference on Aspect-oriented software development
Implementing design patterns in CaesarJ: an exploratory study
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
Object-oriented transformations for extracting aspects
Information and Software Technology
Refactoring of Crosscutting Concerns with Metaphor-Based Heuristics
Electronic Notes in Theoretical Computer Science (ENTCS)
Representing refactoring opportunities
Proceedings of the 2009 ACM symposium on Applied Computing
On the impact of crosscutting concern projection on code measurement
Proceedings of the tenth international conference on Aspect-oriented software development
Aspect assumptions: a retrospective study of AspectJ developers' assumptions about aspect usage
Proceedings of the tenth international conference on Aspect-oriented software development
Discovery of stable abstractions for aspect-oriented composition in the car crash management domain
Transactions on aspect-oriented software development VII
Discovery of stable abstractions for aspect-oriented composition in the car crash management domain
Transactions on aspect-oriented software development VII
A sequence of patterns for reusable aspect libraries with easy configuration
SC'11 Proceedings of the 10th international conference on Software composition
A system of patterns for reusable aspect libraries
Transactions on aspect-oriented software development VIII
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
Science of Computer Programming
Hi-index | 0.00 |
In this paper, we contribute to the characterisation of a programming style specific to aspect-oriented programming. For this purpose, we present a collection of refactorings for aspect-oriented source code, comprising refactorings to enable extraction to aspects of crosscutting concerns from object-oriented legacy code, the subsequent tidying up of the extracted aspects and factoring out of common code from similar aspects to superaspects. The second group of refactorings is documented in detail. In addition, we propose some new aspect-oriented code smells, including one smell that is specific to aspect modules. We also propose a reinterpretation of some of the traditional object-oriented code smells in the light of aspect-orientation, to detect the presence of crosscutting concerns.