OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
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
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
Deriving refactorings for AspectJ
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
Deriving refactorings for AspectJ
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
Refactoring the JUnit framework using aspect-oriented programming
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Horizontal decomposition of Prevayler
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
Proceedings of the 5th international conference on Aspect-oriented software development
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects
IEEE Transactions on Software Engineering
Bridging the gap between aspect mining and refactoring
Proceedings of the 3rd workshop on Linking aspect technology and evolution
Tool-supported refactoring of aspect-oriented programs
Proceedings of the 7th international conference on Aspect-oriented software development
Sort-based refactoring of crosscutting concerns to aspects
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
The impact of static-dynamic coupling on remodularization
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Program refactoring using functional aspects
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Object-oriented transformations for extracting aspects
Information and Software Technology
Exception handling refactorings: Directed by goals and driven by bug fixing
Journal of Systems and Software
Aspect mining meets rule-based refactoring
Proceedings of the 1st workshop on Linking aspect technology and evolution
Representing refactoring opportunities
Proceedings of the 2009 ACM symposium on Applied Computing
An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw
Automated Software Engineering
An Exploratory Study for Identifying and Implementing Concerns in Integer Programming
Transactions on Aspect-Oriented Software Development V
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Towards a refactoring guideline using code clone classification
Proceedings of the 2nd Workshop on Refactoring Tools
Improving safety when refactoring aspect-oriented programs
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
On the modularization and reuse of exception handling with aspects
Software—Practice & Experience
Program refactoring, program synthesis, and model-driven development
CC'07 Proceedings of the 16th international conference on Compiler construction
Patterns for refactoring to aspects: an incipient pattern language
Proceedings of the 14th Conference on Pattern Languages of Programs
Mapping features to aspects: a model-based generative approach
Proceedings of the 10th international conference on Early aspects: current challenges and future directions
Comprehension and dependency analysis of aspect-oriented programs through declarative reasoning
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
Extracting and evolving code in product lines with aspect-oriented programming
Transactions on aspect-oriented software development IV
Code clones in feature-oriented software product lines
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
An exploratory study of code smells in evolving aspect-oriented systems
Proceedings of the tenth international conference on Aspect-oriented software development
A system of patterns for reusable aspect libraries
Transactions on aspect-oriented software development VIII
An aspect-oriented tool framework for developing process-sensitive embedded user assistance systems
Transactions on aspect-oriented software development VIII
Applying and evaluating concern-sensitive design heuristics
Journal of Systems and Software
Variant-preserving refactoring in feature-oriented software product lines
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Aspectizing exception handling: a quantitative study
Advanced Topics in Exception Handling Techniques
Extracting and evolving mobile games product lines
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Towards a catalogue of refactorings and code smells for aspectj
Transactions on Aspect-Oriented Software Development I
Improving security design patterns with aspect-oriented strategies
Proceedings of the 50th Annual Southeast Regional Conference
An empirical study of aspect-oriented metrics
Science of Computer Programming
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
Refactoring delta-oriented software product lines
Proceedings of the 12th annual international conference on Aspect-oriented software development
Interaction awareness for aspect refactoring
Proceedings of the 8th international workshop on Advanced modularization techniques
Toward automated refactoring of crosscutting concerns into aspects
Journal of Systems and Software
Science of Computer Programming
Generalization refactorings for reusable aspects
Proceedings of the 51st ACM Southeast Conference
Hi-index | 0.01 |
In this paper, we present a collection of aspect-oriented refactorings covering both the extraction of aspects from object-oriented legacy code and the subsequent tidying up of the resulting aspects. In some cases, this tidying up entails the replacement of the original implementation with a different, centralized design, made possible by modularization. The collection of refactorings includes the extraction of common code in various aspects into abstract superaspects. We review the traditional object-oriented code smells in the light of aspect-orientation and propose some new smells for the detection of crosscutting concerns. In addition, we propose a new code smell that is specific to aspects.