Experimentation in software engineering
IEEE Transactions on Software Engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object-oriented metrics: measures of complexity
Object-oriented metrics: measures of complexity
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
Software metrics (2nd ed.): a rigorous and practical approach
Software metrics (2nd ed.): a rigorous and practical approach
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Atlas: a case study in building a web-based learning environment using aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ACM SIGSOFT Software Engineering Notes
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Implementing distribution and persistence aspects with 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
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Module Size Distribution and Defect Density
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
AspectJ Cookbook
Horizontal decomposition of Prevayler
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Improving modularity of reflective middleware with aspect-oriented programming
Proceedings of the 6th international workshop on Software engineering and middleware
On the Contributions of an End-to-End AOSD Testbed
EARLYASPECTS '07 Proceedings of the Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design
Electronic Notes in Theoretical Computer Science (ENTCS)
EJFlow: taming exceptional control flows in aspect-oriented programming
Proceedings of the 7th international conference on Aspect-oriented software development
Edicts: implementing features with flexible binding times
Proceedings of the 7th international conference on Aspect-oriented software development
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
On the benefits of scenario variability as crosscutting
Proceedings of the 2008 AOSD workshop on Early aspects
Implementing design patterns in CaesarJ: an exploratory study
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
An aspect-oriented software architecture for code mobility
Software—Practice & Experience
Distributed middleware framework using aspects
ACM SIGSOFT Software Engineering Notes
On the modularization and reuse of exception handling with aspects
Software—Practice & Experience
Developing Autonomic and Secure Virtual Organisations with Chemical Programming
SSS '09 Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems
Model-driven development for early aspects
Information and Software Technology
An aspect-oriented modeling framework for multi-agent systems design
AOSE'06 Proceedings of the 7th international conference on Agent-oriented software engineering VII
Mining early aspects based on syntactical and dependency analyses
Science of Computer Programming
Using aspect-orientation to simplify concurrent programming
Proceedings of the tenth international conference on Aspect-oriented software development companion
Reuse vs. maintainability: revealing the impact of composition code properties
Proceedings of the 33rd International Conference on Software Engineering
Tackling the challenges of integrating 3rd party software using AspectJ
Transactions on aspect-oriented software development VIII
On the modular representation of architectural aspects
EWSA'06 Proceedings of the Third European conference on Software Architecture
Applying and evaluating concern-sensitive design heuristics
Journal of Systems and Software
Modularity analysis of use case implementations
Journal of Systems and Software
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
Ontology driven creational design patterns: creating objects on the fly
Proceedings of the 2013 Research in Adaptive and Convergent Systems
Ontology driven creational design patterns as parameterized and reusable components
ACM SIGAPP Applied Computing Review
Hi-index | 0.00 |
Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize those crosscutting concerns, which in turn compromise the system reusability and maintainability. Hence, it is important verifying whether aspect-oriented approaches support improved modularization of crosscutting concerns relative to design patterns. Ideally, quantitative studies should be performed to compare OO and aspect-oriented implementations of classical patterns with respect to fundamental software engineering attributes, such as coupling and cohesion. This paper presents a quantitative study that compares Java and AspectJ solutions for the 23 Gang-of-Four patterns. We have used stringent software attributes as the assessment criteria. We have found that most aspect-oriented solutions improve separation of pattern-related concerns, although only four aspect-oriented implementations have exhibited significant reuse. This paper also discusses the scalability of the analyzed solutions with respect to separation of concerns, and the determination of a predictive model for the modularization of design patterns with aspects.