Object-oriented metrics that predict maintainability
Journal of Systems and Software - Special issue on object-oriented software
Object-oriented metrics: measures of complexity
Object-oriented metrics: measures of complexity
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st 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
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
What are the key issues for commercial AOP use: how does AspectWerkz address them?
Proceedings of the 3rd international conference on Aspect-oriented software development
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
Predicting Class Testability using Object-Oriented Metrics
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
A classification system and analysis for aspect-oriented programs
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Identifying Aspects Using Fan-In Analysis
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
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
Distribution and persistence as aspects
Software—Practice & Experience - Research Articles
The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
An empirical study into class testability
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Towards a unified coupling framework for measuring aspect-oriented programs
Proceedings of the 3rd international workshop on Software quality assurance
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Documenting Typical Crosscutting Concerns
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
A Test-Driven Approach to Developing Pointcut Descriptors in AspectJ
ICST '09 Proceedings of the 2009 International Conference on Software Testing Verification and Validation
Measuring and characterizing crosscutting in aspect-based programs: basic metrics and case studies
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
The Impact of Coupling on the Fault-Proneness of Aspect-Oriented Programs: An Empirical Study
ISSRE '10 Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Transactions on Aspect-Oriented Software Development I
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
Context: Back in 2001, the MIT announced aspect-oriented programming as a key technology in the next 10years. Nowadays, 10years later, AOP is still not widely adopted. Objective: The objective of this work is to understand the current status of AOP practice through the analysis of open-source project which use AspectJ. Method: First we analyze different dimensions of AOP usage in 38 AspectJ projects. We investigate the degree of coupling between aspects and base programs, and the usage of the pointcut description language. A second part of our study focuses on testability as an indicator of maintainability. We also compare testability metrics on Java and AspectJ implementations of the HealthWatcher aspect-oriented benchmark. Results: The first part of the analysis reveals that the number of aspects does not increase with the size of the base program, that most aspects are woven in every places in the base program and that only a small portion of the pointcut language is used. The second part about testability reveals that AspectJ reduces the size of modules, increases their cohesion but also increases global coupling, thus introducing a negative impact on testability. Conclusion: These observations and measures reveal a major trend: AOP is currently used in a very cautious way. This cautious usage could come from a partial failure of AspectJ to deliver all promises of AOP, in particular an increased software maintainability.