Design Stability Measures for Software Maintenance
IEEE Transactions on Software Engineering - Special issue on COMPSAC 1982 and 1983
Domain-oriented engineering of elevator control software: a product line practice
Proceedings of the first conference on Software product lines : experience and research directions: experience and research directions
A Critical Analysis of Current OO Design Metrics
Software Quality Control
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
C/C++ Conditional Compilation Analysis Using Symbolic Execution
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
IEEE Transactions on Software Engineering
Feature-Oriented Programming and the AHEAD Tool Suite
Proceedings of the 26th International Conference on Software Engineering
Variability management with feature-oriented programming and aspects
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of 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 taxonomy of variability realization techniques: Research Articles
Software—Practice & Experience
Industrial experience with building a web portal product line using a lightweight, reactive approach
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Challenges in Software Evolution
IWPSE '05 Proceedings of the Eighth International Workshop on Principles of Software Evolution
Aspectual mixin layers: aspects and features in concert
Proceedings of the 28th international conference on Software engineering
When to use features and aspects?: a case study
Proceedings of the 5th international conference on Generative programming and component engineering
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
IEEE Transactions on Software Engineering
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Can we refactor conditional compilation into aspects?
Proceedings of the 8th ACM international conference on Aspect-oriented software development
On the Maintainability of Aspect-Oriented Software: A Concern-Oriented Measurement Framework
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Applying and Evaluating Concern-Sensitive Design Heuristics
SBES '09 Proceedings of the 2009 XXIII Brazilian Symposium on Software Engineering
Managing Variability in Software Product Lines
IEEE Software
Software Reuse versus Stability: Evaluating Advanced Programming Techniques
SBES '10 Proceedings of the 2010 Brazilian Symposium on Software Engineering
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
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 |
Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP) are programming techniques based on composition mechanisms, called refinements and aspects, respectively. These techniques are assumed to be good variability mechanisms for implementing Software Product Lines (SPLs). Aspectual Feature Modules (AFM) is an approach that combines advantages of feature modules and aspects to increase concern modularity. Some guidelines of how to integrate these techniques have been established in some studies, but these studies do not focus the analysis on how effectively AFM can preserve the modularity and stability facilitating SPL evolution. The main purpose of this paper is to investigate whether the simultaneous use aspects and features through the AFM approach facilitates the evolution of SPLs. The quantitative data were collected from a SPL developed using four different variability mechanisms: (1) feature modules, aspects and aspects refinements of AFM, (2) aspects of aspect-oriented programming (AOP), (3) feature modules of feature-oriented programming (FOP), and (4) conditional compilation (CC) with object-oriented programming. Metrics for change propagation and modularity stability were calculated and the results support the benefits of the AFM option in a context where the product line has been evolved with addition or modification of crosscutting concerns.