Software Product Line Engineering via Software Transplantation
Leandro O. Souza, Earl T. Barr, Justyna Petke, Eduardo S. Almeida and, Paulo Anselmo M. S. Neto

TL;DR
This paper introduces Foundry, an automated tool that leverages software transplantation to rapidly create and maintain software product lines, significantly reducing manual effort and time in feature migration.
Contribution
Foundry is a novel automated approach that streamlines feature extraction and migration for software product lines, outperforming manual efforts in speed and efficiency.
Findings
Foundry transplants features 4.8 times faster than manual efforts.
Successfully created two product lines from three real-world systems.
Automated feature migration reduces development time significantly.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Service-Oriented Architecture and Web Services · Software System Performance and Reliability
