Communications of the ACM
Composing crosscutting concerns using composition filters
Communications of the ACM
ACM Transactions on Software Engineering and Methodology (TOSEM)
Arranging language features for more robust pattern-based crosscuts
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Implementing Reusable Object-Oriented Components
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Towards detecting and solving aspect conflicts and interferences using unit tests
Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies
Change-oriented software engineering
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Software Evolution
Flexible features: making feature modules more reusable
Proceedings of the 2009 ACM symposium on Applied Computing
Detecting unanticipated aspect interferences at runtime with compositional intentions
Proceedings of the Workshop on AOP and Meta-Data for Software Evolution
Intensional changes: modularizing crosscutting features
Proceedings of the 2010 ACM Symposium on Applied Computing
FeatureC++: on the symbiosis of feature-oriented and aspect-oriented programming
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
A tutorial on feature oriented programming and the AHEAD tool suite
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Hi-index | 0.00 |
Modularization is key to support the maintainability of software systems. In some cases, however, maintenance requires certain modules to evolve together. This phenomenon complicates software maintainability and is commonly referred to as co-evolution. In this paper, we tackle co-evolution in the domain of change-based feature-oriented programming (ChOP). In ChOP, feature modules -- each matching the implementation of one requirement -- are specified as sets of first-class change objects. Our solution is based on intensional changes: descriptive changes that are automatically evaluated with respect to the other feature modules before they are applied. We present a maintenance scenario and use it to show how intensional changes avoid co-evolution.