Project Details
Reverse Engineering Design of Software Product Lines for Automation Technology (RED SPLAT)
Subject Area
Software Engineering and Programming Languages
Term
from 2017 to 2023
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 335427442
In automation technology, more and more functionality is realized by software. Software variants are typically developed using a copy-paste-and-modify strategy (also called clown-and-own) which hinders maintenance and future development of the variants. In contrast, the concept of software product lines (SPL) uses a structured variant modeling and systematic reuse of software artifacts. The transition of variant development using clown-and-own to structured variant management based on SPLs is hindered by the fact that existing variants are of hugh value and production cannot be stopped during that transition.The goal of the project is to develop methods that (semi-)automatically transform a family of software variants from automation technology that were created using clone-and-own into a software product line. In particular, industrial requirements and the transferability of the results to industrial practice are considered. First, a method is developed to derive a family model of an existing set of variants in order to represent commonality and differences of the variants' software. Second, visualization techniques are devised to represent the family structure for domain experts and to add domain knowledge for the subsequent restructuring of the software family. Finally, reverse engineering techniques are developed which use the given information to extract reusable building blocks from the existing variants and transform those into an SPL. The developed techniques are implemented and evaluated using academic and industrial case studies with respect to their applicability.
DFG Programme
Research Grants