De Souza, Leandro Oliveria;
De Almedia, Eduardo Santana;
Da Mota Silveira Neto, Paulo Anselmo;
Barr, Earl;
Petke, Justyna;
(2024)
Software Product Line Engineering via Software Transplantation.
ACM Transactions on Software Engineering and Methodology
(In press).
Preview |
Text
Souza_2024_TOSEM.pdf - Accepted Version Download (2MB) | Preview |
Abstract
Software Product Lines (SPLs) improve time-to-market, enhance software quality, and reduce maintenance costs. Current SPL reengineering practices are largely manual and require domain knowledge. Thus, adopting and, to a lesser extent, maintaining SPLs are expensive tasks, preventing many companies from enjoying their benefits. To address these challenges, we introduce Foundry, an approach utilizing software transplantation to reduce the manual effort of SPL adoption and maintenance. Foundry enables integrating features across different codebases, even codebases that are unaware that they are contributing features to a software product line. Each product produced by Foundry is pure code, without variability annotation, unlike feature flags, which eases variability management and reduces code bloat. We realise Foundry in prodScalpel, a tool that transplants multiple organs (i.e., a set of interesting features) from donor systems into an emergent product line for codebases written in C. Given tests and lightweight annotations identifying features and implantation points, prodScalpel automates feature extraction and integration. To evaluate its effectiveness, our evaluation compares feature transplantation using prodScalpel to the current state of practice: on our dataset, prodScalpel’s use speeds up feature migration by an average of 4.8 times when compared to current practice.
Type: | Article |
---|---|
Title: | Software Product Line Engineering via Software Transplantation |
Open access status: | An open access version is available from UCL Discovery |
Publisher version: | https://dl.acm.org/journal/tosem |
Language: | English |
Additional information: | This version is the author accepted manuscript. For information on re-use, please refer to the publisher's terms and conditions. |
Keywords: | Software Product Lines, Software Transplantation, Genetic Improvement |
UCL classification: | UCL UCL > Provost and Vice Provost Offices > UCL BEAMS UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science |
URI: | https://discovery.ucl.ac.uk/id/eprint/10196236 |
Archive Staff Only
View Item |