Design Stability Measures for Software Maintenance
IEEE Transactions on Software Engineering - Special issue on COMPSAC 1982 and 1983
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Evolution in software product lines: Two cases
Journal of Software Maintenance: Research and Practice
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Stability assessment of evolving industrial object-oriented frameworks
Journal of Software Maintenance: Research and Practice
Communications of the ACM
UML components: a simple process for specifying component-based software
UML components: a simple process for specifying component-based software
Using multidimensional separation of concerns to (re)shape evolving software
Communications of the ACM
Software product lines: practices and patterns
Software product lines: practices and patterns
Component-based product line engineering with UML
Component-based product line engineering with UML
Non-modularity in aspect-oriented languages: integration as a crosscutting concern for AspectJ
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Describing and using non functional aspects in component based applications
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Concepts and Guidelines of Feature Modeling for Product Line Software Engineering
ICSR-7 Proceedings of the 7th International Conference on Software Reuse: Methods, Techniques, and Tools
Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
Systematic Integration of Variability into Product Line Architecture Design
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
Software Architecture in Practice
Software Architecture in Practice
On Evidence Supporting the FEAST Hypothesis and the Laws of Software Evolution
METRICS '98 Proceedings of the 5th International Symposium on Software Metrics
On the Notion of Variability in Software Product Lines
WICSA '01 Proceedings of the Working IEEE/IFIP Conference on Software Architecture
Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures
Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures
An Empirical Study of Software Reuse vs. Defect-Density and Stability
Proceedings of the 26th International Conference on Software 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
A case study on building COTS-based system using aspect-oriented programming
Proceedings of the 2005 ACM symposium on Applied computing
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Horizontal decomposition of Prevayler
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
Modular Software Design with Crosscutting Interfaces
IEEE Software
Aspectual mixin layers: aspects and features in concert
Proceedings of the 28th international conference on Software engineering
SPLC '06 Proceedings of the 10th International on Software Product Line Conference
The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
A Study of Design Characteristics in Evolving Software Using Stability as a Criterion
IEEE Transactions on Software Engineering
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
EJFlow: taming exceptional control flows in aspect-oriented programming
Proceedings of the 7th international conference on Aspect-oriented software development
Towards reusable components with aspects: an empirical study on modularity and obliviousness
Proceedings of the 30th international conference on Software engineering
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
Can aspects model product lines?
Proceedings of the 2008 AOSD workshop on Early aspects
Aspect-oriented software development
Aspect-oriented software development
Explicit exception handling variability in component-based product line architectures
Proceedings of the 4th international workshop on Exception handling
Comparing Stability of Implementation Techniques for Multi-agent System Product Lines
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Modules for crosscutting models
Ada-Europe'03 Proceedings of the 8th Ada-Europe international conference on Reliable software technologies
DERAF: a high-level aspects framework for distributed embedded real-time systems design
Proceedings of the 10th international conference on Early aspects: current challenges and future directions
Mapping features to aspects: a model-based generative approach
Proceedings of the 10th international conference on Early aspects: current challenges and future directions
An exploratory study of fault-proneness in evolving aspect-oriented programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
From requirements documents to feature models for aspect oriented product line implementation
MoDELS'05 Proceedings of the 2005 international conference on Satellite Events at the MoDELS
Component-Based open middleware supporting aspect-oriented software composition
CBSE'05 Proceedings of the 8th international conference on Component-Based Software Engineering
Extracting and evolving mobile games product lines
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
A model for developing component-based and aspect-oriented systems
SC'06 Proceedings of the 5th international conference on Software Composition
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
A design pattern coupling role and component concepts: Application to medical software
Journal of Systems and Software
Deriving detailed design models from an aspect-oriented ADL using MDD
Journal of Systems and Software
Hi-index | 0.00 |
Context: It is important for Product Line Architectures (PLA) to remain stable accommodating evolutionary changes of stakeholder's requirements. Otherwise, architectural modifications may have to be propagated to products of a product line, thereby increasing maintenance costs. A key challenge is that several features are likely to exert a crosscutting impact on the PLA decomposition, thereby making it more difficult to preserve its stability in the presence of changes. Some researchers claim that the use of aspects can ameliorate instabilities caused by changes in crosscutting features. Hence, it is important to understand which aspect-oriented (AO) and non-aspect-oriented techniques better cope with PLA stability through evolution. Objective: This paper evaluates the positive and negative change impact of component and aspect based design on PLAs. The objective of the evaluation is to assess how aspects and components promote PLA stability in the presence of various types of evolutionary change. To support a broader analysis, we also evaluate the PLA stability of a hybrid approach (i.e. combined use of aspects and components) against the isolated use of component-based, OO, and AO approaches. Method: An quantitative and qualitative analysis of PLA stability which involved four different implementations of a PLA: (i) an OO implementation, (ii) an AO implementation, (iii) a component-based implementation, and (iv) a hybrid implementation where both components and aspects are employed. Each implementation has eight releases and they are functionally equivalent. We used conventional metrics suites for change impact and modularity to measure the architecture stability evaluation of the 4 implementations. Results: The combination of aspects and components promotes superior PLA resilience than the other PLAs in most of the circumstances. Conclusion: It is concluded that the combination of aspects and components supports the design of high cohesive and loosely coupled PLAs. It also contributes to improve modularity by untangling feature implementation.