Software Variability

Modeling, implementing, and assuring the quality of software product lines

Edition: 2026/2027 (P1, autumn semester)

Volume: 20 h: 10 h of self-study + a 10 h individual project / exercises

Language: English · 2 ECTS

Teaching Team

Lecturer: Xhevahire Tërnava

About the course

Most of the software systems nowadays ship in many variants, with different features for different customers, markets, or devices (see, e.g., every Nokia phone released from 1982 to 2006). Copying and editing the code for each variant does not scale, so this course teaches the alternative of building a whole family of products from one shared, configurable codebase. You will learn to describe a family through its common and variable features, model the allowed feature combinations, decide when each choice is bound, implement features as composable modules, or using traditional approaches, and test configurations for unwanted interactions.

Lectures

Tasks

The rest of the tasks are to be decided.

Other references:

Note: These lectures are borrowed from the Software Product Lines course, under CC BY-SA 4.0. Lecture recordings are an alternative to reading: in that case, use only the matching video with the slides.

Optional references, not mandatory reading. The above slides are sufficient to complete the module.

Resources

Tools and access

Location

Télécom Paris, 19 place Marguerite Perey, F-91120 Palaiseau