FM-PRO: A Feature Modeling Process
Artikel i vetenskaplig tidskrift, 2024

Almost any software system needs to exist in multiple variants. While branching or forking-a.k.a. clone & own - are simple and inexpensive strategies, they do not scale well with the number of variants created. Software platforms - a.k.a. software product lines - scale and allow to derive variants by selecting the desired features in an automated, tool-supported process. However, product lines are difficult to adopt and to evolve, requiring mechanisms to manage features and their implementations in complex codebases. Such systems can easily have thousands of features with intricate dependencies. Feature models have arguably become the most popular notation to model and manage features, mainly due to their intuitive, tree-like representation. Introduced more than 30 years ago, thousands of techniques relying on feature models have been presented, including model configuration, synthesis, analysis, and evolution techniques. However, despite many success stories, organizations still struggle with adopting software product lines, limiting the usefulness of such techniques. Surprisingly, no modeling process exists to systematically create feature models, despite them being the main artifact of a product line. This challenges organizations, even hindering the adoption of product lines altogether. We present FM-PRO, a process to engineer feature models. It can be used with different adoption strategies for product lines, including creating one from scratch (pro-active adoption) and re-engineering one from existing cloned variants (extractive adoption). The resulting feature models can be used for configuration, planning, evolution, reasoning about variants, or keeping an overview understanding of complex software platforms. We systematically engineered the process based on empirically elicited modeling principles. We evaluated and refined it in a real-world industrial case study, two surveys with industrial and academic feature-modeling experts, as well as an open-source case study. We hope that FM-PRO helps to adopt feature models and that it facilitates higher-level, feature-oriented engineering practices, establishing features as a better and more abstract way to manage increasingly complex codebases.

configurable systems

feature modeling

product lines

features

software engineering processes

Författare

Johan Martinson

Ruhr-Universität Bochum

Wardah Mahmood

Göteborgs universitet

Software Engineering 2

Jude Gyimah

Ruhr-Universität Bochum

Thorsten Berger

Ruhr-Universität Bochum

Göteborgs universitet

Software Engineering 2

IEEE Transactions on Software Engineering

0098-5589 (ISSN) 19393520 (eISSN)

Vol. In Press

Ämneskategorier (SSIF 2011)

Programvaruteknik

Datavetenskap (datalogi)

DOI

10.1109/TSE.2024.3513635

Mer information

Senast uppdaterat

2025-01-09