University of Waterloo COVID-19 update

Please see the University of Waterloo’s frequently asked questions for information about COVID-19 and how it has affected university operations.

Please visit the list of modified services if you have questions about university services.

Although the University of Waterloo is closed for in-person events until further notice, many virtual events and presentations of interest to computer scientists are taking place each week at the Cheriton School of Computer Science. Please check out what our students and faculty are doing.

SCS Colloquium - Jo Atlee

SCS Colloquium Series

Date: Monday, December 9, 2013  at 3:30 pm

Location: DC 1302

Jo Atlee

Joanne Atlee
University of Waterloo
Cheriton School of Computer Science

Lecture title:
"Feature Interactions: the Good, the Bad, and the Ugly​"
​Lecture abstract: 
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.