A scientific methodology for MIS case studies
MIS Quarterly
ACM Computing Surveys (CSUR)
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
An initial assessment of aspect-oriented programming
Proceedings of the 21st international conference on Software engineering
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Back to the future: a retroactive study of aspect evolution in operating system code
Proceedings of the 2nd international conference on Aspect-oriented software development
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
Refactoring " Improving Coupling and Cohesion of Existing Code
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
Ranking Significance of Software Components Based on Use Relations
IEEE Transactions on Software Engineering
On Refactoring Support Based on Code Clone Dependency Relation
METRICS '05 Proceedings of the 11th IEEE International Software Metrics Symposium
CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code
IEEE Transactions on Software Engineering
Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Identifying, Assigning, and Quantifying Crosscutting Concerns
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
An exploratory study of the effect of aspect-oriented programming on maintainability
Software Quality Control
An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw
Automated Software Engineering
Hi-index | 0.00 |
Aspect-oriented refactoring is a promising technique for improving modularity and reducing complexity of existing software systems through encapsulating crosscutting concerns. As complexity of a system is often linked to the degree to which its components are connected, we investigate in this paper the impact of such refactoring activities on component relationships. We analyze two aspect-refactoring projects to determine circumstances when such activities are effective at reducing component relationships and when they are not. We measure two kinds of relationships between components, use and clone relations. We compare how these metrics changed between the original and the refactored system. Our findings indicate that aspect-oriented refactoring is successful in improving the modularity and complexity of the base code. However, we obtain mixed results when aspects are accounted for. Based on these results, we also discuss constraints to the technology as well as other design considerations that may limit the effectiveness of aspect-oriented refactoring on actual systems.