M. Sc. Jacob Krüger
Institut für Technische und Betriebliche Informationssysteme
Es wurde keine Person oder Struktureinheit definiert.
Completed projects
EXtracting Product Lines from vAriaNTs (EXPLANT II)
Duration: 01.09.2019 to 28.02.2022
A software product line (SPL) enables the systematic management of a set of reusable software artifacts and thus the efficient generation of different variants of a software. In practice, however, developers often create software variants on an ad-hoc basis by copying software artifacts and adapting them to new requirements (clone-and-own). The lack of systematics and automation here often makes the maintenance and further development of variants time-consuming and error-prone. We therefore propose a step-by-step migration of cloned software variants into a compositional (i.e. modular) SPL.
In the first project phase, we have already achieved remarkable results in the variant-preserving transformation and the corresponding analyses at model and code level. In the second phase, we now want to build on the knowledge gained from this. These are in particular: (1) An automated migration based only on code clone detection does not produce coherent software artifacts with a certain functionality. (2) Some potential cooperation partners were reluctant to migrate their systems, fearing the introduction of new bugs. (3) Annotative SPLs seem to be less error-prone and thus more robust to changes than previously assumed.
Due to the problems with industrial partners (2), we concluded that further research is needed, especially on quality assurance of migrated SPL, migration costs and properties of software artifacts. We therefore want to investigate which cost factors play a role in the migration and deployment of SPL and how strong their influence is in each case. We also plan to identify quality metrics for migrated SPL. In the first project phase, we have already proposed a partially automated migration process (1), which we now want to expand further and integrate new analyses. In particular, we want to investigate whether useful information, especially about the developers' intentions, can be obtained from sources other than the code. Promising approaches here are the analysis of version management systems and the analysis of existing behavioral and architectural models of a system. We also intend to use further refactorings, such as "Move Method", to increase the degree of automation. In order to improve the structure and therefore the maintainability of the resulting modularization, we are also planning to expand our migration process to include multi-software product lines. This would make it easier to separate individual functionalities of a system. We also want to investigate which granularity is best suited for migrated software artifacts and whether annotative methods (3) can provide advantages over compositional methods for migrated SPL.
This text was translated with DeepL on 28/11/2025
Recommending Cloned Features for Adopting Systematic Software Reuse
Duration: 01.05.2018 to 30.04.2021
Organizations heavily rely on forking (or cloning) to implement customer-specific variants of a system. While this approach can have several disadvantages, organizations fear to extract reusable features later on, due to the corresponding efforts and risks. A particularly challenging, yet poorly supported, task is to decide what features to extract. To tackle this problem, we aim to develop an analysis system that proposes suitable features based on automated analyses of the cloned legacy systems. To this end, we are concerned with a several closely related research areas: Cost modeling for software product lines; empirical studies on system evolution, processes, and human factors; as well as concepts to derive reusable features from clones based on, for example, feature location and code clone detection.
- Migration and extraction of software product lines
- Feature-oriented software development
- Cost estimation
- Literature analysis
- Empirical software engineering