A systematic review of comparative evidence of aspect-oriented programming
نویسندگان
چکیده
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. ! 2010 Elsevier B.V. All rights reserved.
منابع مشابه
مروری نظاممند بر مهندسی نرمافزار جنبهگرا: گامها، روشها و چالشها
Aspect-oriented engineering has been introduced as a new development approach based on modularization in order to increase the maintainability and reusability of software. Aspect-oriented software engineering uses the concept of aspect to modularize crosscutting concerns. Today, this approach is considered in the both research and industrial environments. Different methods has been proposed for...
متن کاملCoupling Metrics for Aspect Oriented Programming -A Systematic Review
Metrics are an important technique in quantifying desirable software and software development characteristics of aspectoriented software development (AOSD). Coupling is an internal software attribute that can be used to indicate the degree of system interdependence among the components of software. Coupling is thought to be a desirable goal in software construction, leading to better values for...
متن کاملSystematic Review on Testing Aspect - oriented Programs - Challenges , Techniques and Their Effectiveness Muhammad Amar and Kashif Shabbir
Aspect-oriented programming is a relatively new programming paradigm and it builds on the basis of object oriented programming paradigm. It deals with those concerns that cross-cut the modularity of traditional programming mechanisms and it aims at reduction of code and to provide higher cohesion. As with any new technology aspect oriented programming provides some benefits and also there are s...
متن کاملA Systematic Review on Performance Evaluation of Aspect-Oriented Programming Techniques used to Implement Crosscutting Concerns
Aspect-Oriented Programming (AOP) was proposed with the main objective of addressing an important software quality principle that is modularization. The basic idea of the paradigm is to capture crosscutting concerns as a programming abstraction called aspect. Since the introduction of aspects as a complement to objectoriented programming, many evaluations and empirical studies were provided to ...
متن کاملCoupling Metrics for Aspect-Oriented Programming: A Systematic Review of Maintainability Studies
Over the last few years, a growing number of studies have explored how Aspect-Oriented Programming (AOP) might impact software maintainability. Most of the studies use coupling metrics to assess the impact of AOP mechanisms on maintainability attributes such as design stability. Unfortunately, the use of such metrics is fraught with dangers, which have so far not been thoroughly investigated. T...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Information & Software Technology
دوره 52 شماره
صفحات -
تاریخ انتشار 2010