Intensional changes avoid co-evolution!
Faculty of Sciences. Mathematics and Computer Science
New York, N.Y. :ACM, 2010
Proceedings of the 7th ECOOP'2010 Workshop on Reflection, AOP and Meta-Data for Software Evolution
University of Antwerp
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.