Design Stability Measures for Software Maintenance
IEEE Transactions on Software Engineering - Special issue on COMPSAC 1982 and 1983
Object-oriented programming languages: the next generation
OOPSLA '92 Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum)
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
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
Applying meta-analytical procedures to software engineering experiments
Journal of Systems and Software
Does aspect-oriented programming work?
Communications of the ACM
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Object-Oriented Software Construction
Object-Oriented Software Construction
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Preliminary guidelines for empirical research in software engineering
IEEE Transactions on Software Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
IEEE Software
IEEE Software
The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Systematic review: A systematic review of effect size in software engineering experiments
Information and Software Technology
Developing Search Strategies for Detecting Relevant Experiments for Systematic Reviews
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Applying Systematic Reviews to Diverse Study Types: An Experience Report
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Empirical studies of agile software development: A systematic review
Information and Software Technology
Strength of evidence in systematic reviews in software engineering
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Guidelines for conducting and reporting case study research in software engineering
Empirical Software Engineering
Aggregation of empirical evidence
Proceedings of the 2006 international conference on Empirical software engineering issues: critical assessment and future directions
Advanced Data Mining Techniques
Advanced Data Mining Techniques
What scope is there for adopting evidence-informed teaching in SE?
Proceedings of the 34th International Conference on Software Engineering
Variability in quality attributes of service-based software systems: A systematic literature review
Information and Software Technology
Application of knowledge-based approaches in software architecture: A systematic mapping study
Information and Software Technology
On evaluating commercial Cloud services: A systematic review
Journal of Systems and Software
Knowledge-based approaches in software documentation: A systematic literature review
Information and Software Technology
Hi-index | 0.00 |
Context: Aspect-oriented programming (AOP) promises to improve many facets of software quality by providing better modularization and separation of concerns, which may have system wide affect. There have been numerous claims in favor and against AOP compared with traditional programming languages such as Objective Oriented and Structured Programming Languages. However, there has been no attempt to systematically review and report the available evidence in the literature to support the claims made in favor or against AOP compared with non-AOP approaches. Objective: This research aimed to systematically identify, analyze, and report the evidence published in the literature to support the claims made in favor or against AOP compared with non-AOP approaches. Method: We performed a systematic literature review of empirical studies of AOP based development, published in major software engineering journals and conference proceedings. Results: Our search strategy identified 3307 papers, of which 22 were identified as reporting empirical studies comparing AOP with non-AOP approaches. Based on the analysis of the data extracted from those 22 papers, our findings show that for performance, code size, modularity, and evolution related characteristics, a majority of the studies reported positive effects, a few studies reported insignificant effects, and no study reported negative effects; however, for cognition and language mechanism, negative effects were reported. Conclusion: AOP is likely to have positive effect on performance, code size, modularity, and evolution. However its effect on cognition and language mechanism is less likely to be positive. Care should be taken using AOP outside the context in which it has been validated.