From Crosscutting Concerns to Feature Interactions: A Tale of Misunderstandings and Enlightenments
Both crosscutting concerns and feature interactions are phenomena that may impair modularity. Crosscutting concerns have been in the center of interest in aspect-oriented software development. Much research in this direction—including my own—is aimed at developing mechanisms to avoid and manage code scattering and tangling, with a strong focus on source-code organization. Feature interactions have been studied even earlier. Research on feature interactions always emphasized behavioral aspects that arise when two features interact, regardless of the implementation. Both phenomena are related, but not as closely as one may think.
In this talk, I will tell my personal story on how I started my research career with investigating crosscutting concerns and—after a long journey and many misunderstanding and enlightments—arrived at being interested in feature interactions. In some sense this journey is also a journey of a whole community that emerged from different research areas, and I will share my experience gathered from this journey and synthesize lessons learned. In particular, I will highlight the (historical) differences of research on crosscutting concerns and feature interactions. Furthermore, by means of recent experimental results, I will emphasize that there are different types of feature interactions and that these type are related (some to crosscutting concerns). I will close the talk with a call to action to accept and approach the New Feature Interaction Challenge, which is to understand and exploit the different types of feature interactions to build better software (e.g., to develop better tools for feature-interaction testing).
Prof. Dr. Sven Apel holds the Chair of Software Product Lines at the University of Passau, Germany. The chair is funded by the esteemed Emmy-Noether and Heisenberg Programs of the German Research Foundation (DFG). Prof. Apel received his Ph.D. in Computer Science in 2007 from the University of Magdeburg, Germany. His research interests include novel programming paradigms, software engineering and product lines, and formal and empirical methods. He is the author or co-author of over a hundred peer-reviewed scientific publications. Sven Apel is a member of the Young Academy of Europe and the IFIP Working Group 2.11 (Program Generation). He serves regularly in program committees of top-ranked international conferences, he is member of the editorial boards of IEEE Software and Empirical Software Engineering, and he will be program-committee co-chair of the 31st International Conference on Automated Software Engineering (ASE). His work has received awards by the Ernst-Denert Foundation and the Karin-Witte Foundation.