The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Roles and Aspects: Similarities, Differences, and Synergetic Potential
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
First International Workshop on Refactoring: Achievements, Challenges, and Effects (REFACE'03)
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Design pattern rationale graphs: linking design to source
Design pattern rationale graphs: linking design to source
Refactoring to aspects: an interactive approach
eclipse '03 Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange
Proceedings of the 3rd international conference on Aspect-oriented software development
An adaptive object model with dynamic role binding
Proceedings of the 27th international conference on Software engineering
Aspect Oriented Refactoring
An approach to aspect refactoring based on crosscutting concern types
MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
Refactoring the Aspectizable Interfaces: An Empirical Assessment
IEEE Transactions on Software Engineering
Proceedings of the 5th international conference on Aspect-oriented software development
Using aspect-oriented PHP to implement crosscutting concerns in a collaborative web system
SIGDOC '06 Proceedings of the 24th annual ACM international conference on Design of communication
Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects
IEEE Transactions on Software Engineering
Modular-Like Transformations and Style Checking for Crosscutting Programming Concepts
ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering
Bridging the gap between aspect mining and refactoring
Proceedings of the 3rd workshop on Linking aspect technology and evolution
A comparison of logic-based infrastructures for concern detection and extraction
Proceedings of the 3rd workshop on Linking aspect technology and evolution
Beyond refactoring: a framework for modular maintenance of crosscutting design idioms
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Tool-supported refactoring of aspect-oriented programs
Proceedings of the 7th international conference on Aspect-oriented software development
A test driven approach for aspectualizing legacy software using mock systems
Information and Software Technology
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
Object-oriented transformations for extracting aspects
Information and Software Technology
Addressing common crosscutting problems with Arcum
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Refactoring of Crosscutting Concerns with Metaphor-Based Heuristics
Electronic Notes in Theoretical Computer Science (ENTCS)
An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw
Automated Software Engineering
When refactoring acts like modularity: keeping options open with persistent condition checking
Proceedings of the 2nd Workshop on Refactoring Tools
Extracting and evolving code in product lines with aspect-oriented programming
Transactions on aspect-oriented software development IV
Role models—implementation-based approaches to using roles
Software—Practice & Experience
An exploratory study of code smells in evolving aspect-oriented systems
Proceedings of the tenth international conference on Aspect-oriented software development
Extracting and evolving mobile games product lines
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Automated pattern-based pointcut generation
SC'06 Proceedings of the 5th international conference on Software Composition
Memoization aspects: a case study
Proceedings of the International Workshop on Smalltalk Technologies
Towards a catalogue of refactorings and code smells for aspectj
Transactions on Aspect-Oriented Software Development I
A framework for the checking and refactoring of crosscutting concepts
ACM Transactions on Software Engineering and Methodology (TOSEM)
Toward automated refactoring of crosscutting concerns into aspects
Journal of Systems and Software
Science of Computer Programming
Hi-index | 0.00 |
Improving the structure of code can help developers work with a software system more efficiently and more consistently. To aid developers in re-structuring the implementation of crosscutting concerns using aspect-oriented programming, we introduce a role-based refactoring approach and tool. Crosscutting concerns (CCCs) are described in terms of abstract roles, and instructions for refactoring crosscutting concerns are written in terms of those roles. To apply a refactoring, a developer maps a subset of the roles to concrete program elements; a tool can then help complete the mapping of roles to the existing program. Refactoring instructors are then applied to manipulate and modularize the concrete elements corresponding to the crosscutting concern. Evaluation of the prototype tool on a graphical editing framework suggests that the approach helps planning and executing complex CCC refactorings.