Software Product Line Engineering via Software Transplantation

07/20/2023
by   Leandro O. Souza, et al.
0

For companies producing related products, a Software Product Line (SPL) is a software reuse method that improves time-to-market and software quality, achieving substantial cost reductions.These benefits do not come for free. It often takes years to re-architect and re-engineer a codebase to support SPL and, once adopted, it must be maintained. Current SPL practice relies on a collection of tools, tailored for different reengineering phases, whose output developers must coordinate and integrate. We present Foundry, a general automated approach for leveraging software transplantation to speed conversion to and maintenance of SPL. Foundry facilitates feature extraction and migration. It can efficiently, repeatedly, transplant a sequence of features, implemented in multiple files. We used Foundry to create two valid product lines that integrate features from three real-world systems in an automated way. Moreover, we conducted an experiment comparing Foundry's feature migration with manual effort. We show that Foundry automatically migrated features across codebases 4.8 times faster, on average, than the average time a group of SPL experts took to accomplish the task.

READ FULL TEXT
research
07/16/2021

Applying Declarative Analysis to Software Product Line Models: An Industrial Study

Software Product Lines (SPLs) are families of related software products ...
research
07/04/2019

Lifting Datalog-based Analyses to Software Product Lines

Applying program analyses to Software Product Lines (SPLs) has been a fu...
research
08/22/2021

Custom-Tailored Clone Detection for IEC 61131-3 Programming Languages

Automated production systems (aPS) are highly customized systems that co...
research
12/10/2021

MOBAFS: A Multi Objective Bee Algorithm for Feature subset selection in Software Product Lines

Software product line represents software engineering methods, tools and...
research
08/02/2022

Using Software Product Lines to Create Blockchain Products: Application to Supply Chain Traceability

In recent years, blockchain has been growing rapidly from a niche techno...
research
04/16/2021

Learning Feature Interactions With and Without Specifications

Features in product lines and highly configurable systems can interact i...

Please sign up or login with your details

Forgot password? Click here to reset