A Framework for Seamless Variant Management and Incremental Migration to a Software Product-Line
Licentiatavhandling, 2022

Context: Software systems often need to exist in many variants in order to satisfy varying customer requirements and operate under varying software and hardware environments. These variant-rich systems are most commonly realized using cloning, a convenient approach to create new variants by reusing existing ones. Cloning is readily available, however, the non-systematic reuse leads to difficult maintenance. An alternative strategy is adopting platform-oriented development approaches, such as Software Product-Line Engineering (SPLE). SPLE offers systematic reuse, and provides centralized control, and thus, easier maintenance. However, adopting SPLE is a risky and expensive endeavor, often relying on significant developer intervention. Researchers have attempted to devise strategies to synchronize variants (change propagation) and migrate from clone&own to an SPL, however, they are limited in accuracy and applicability. Additionally, the process models for SPLE in literature, as we will discuss, are obsolete, and only partially reflect how adoption is approached in industry. Despite many agile practices prescribing feature-oriented software development, features are still rarely documented and incorporated during actual development, making SPL-migration risky and error-prone.

Objective: The overarching goal of this PhD is to bridge the gap between clone&own and software product-line engineering in a risk-free, smooth, and accurate manner. Consequently, in the first part of the PhD, we focus on the conceptualization, formalization, and implementation of a framework for migrating from a lean architecture to a platform-based one.

Method: Our objectives are met by means of (i) understanding the literature relevant to variant-management and product-line migration and determining the research gaps (ii) surveying the dominant process models for SPLE and comparing them against the contemporary industrial practices, (iii) devising a framework for incremental SPL adoption, and (iv) investigating the benefit of using features beyond PL migration; facilitating model comprehension.

Results: Four main results emerge from this thesis. First, we present a qualitative analysis of the state-of-the-art frameworks for change propagation and product-line migration. Second, we compare the contemporary industrial practices with the ones prescribed in the process models for SPL adoption, and provide an updated process model that unifies the two to accurately reflect the real practices and guide future practitioners. Third, we devise a framework for incremental migration of variants into a fully integrated platform by exploiting explicitly recorded metadata pertaining to clone and feature-to-asset traceability. Last, we investigate the impact of using different variability mechanisms on the comprehensibility of various model-related tasks.

Future work: As ongoing and future work, we aim to integrate our framework with existing IDEs and conduct a developer study to determine the efficiency and effectiveness of using our framework. We also aim to incorporate safe-evolution in our operators.

Model Comprehension

Variability Mechanisms Process Models

Variant-rich Systems

Software Product-Line Engineering

Online and Room 473, Jupiter, Hörselgången 5, Gothenburg
Opponent: Iris Reinhartz-Berger, Professor at University of Haifa, Israel

Författare

Wardah Mahmood

Göteborgs universitet

Seamless Variability Management with the Virtual Platform

2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE),;(2021)

Paper i proceeding

Promote-pl: a round-trip engineering process model for adopting and evolving product lines

SPLC 2020 - 24th ACM International Systems and Software Product Line Conference,;Vol. A(2020)p. 1-12

Paper i proceeding

W. Mahmood, D. Strüber · A. Anjorin, T. Berger “Effects of Variability in Models: A Family of Experiments” Accepted at Empirical Software Engineering Journal.

Infrastruktur

C3SE (Chalmers Centre for Computational Science and Engineering)

Ämneskategorier

Programvaruteknik

Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 5084

Utgivare

Chalmers

Online and Room 473, Jupiter, Hörselgången 5, Gothenburg

Online

Opponent: Iris Reinhartz-Berger, Professor at University of Haifa, Israel

Mer information

Senast uppdaterat

2023-01-16