Date: Monday, December 9, 2013 at 3:30 pm
Location: DC 1302
University of Waterloo
Cheriton School of Computer Science
"Feature Interactions: the Good, the Bad, and the Ugly"
Feature orientation is an increasingly popular method for decomposing a software-development task into subproblems — in this case, features — that can be tackled individually and incrementally. Feature orientation is particularly relevant in software product lines, where a family of similar products (e.g., smart phones, automotive software) is understood, constructed, managed, and evolved in terms of its common and optional features. One challenge to feature orientation is that product developers need to consider how combinations of feature interact with each other. The Feature Interaction Problem is that the number of interactions to consider is exponential in the number of features. As a result, developers find that their work in adding a new feature is dominated by the tasks to detect, analyze, and verify interactions with existing features. This presentation will give an overview of research on feature modularity and interactions, including (1) a language for modelling features as separate feature modules, whose composition is a model of a product line, (2) a tool for analyzing a model of a product line (rather than analyzing each of the separate products), and (3) a strategy for coordinating features to avoid certain classes of interactions.