Auflistung nach Schlagwort "clone-and-own"
1 - 3 von 3
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragComparing Multiple MATLAB/Simulink Models Using Static Connectivity Matrix Analysis(Software Engineering 2020, 2020) Schlie, Alexander; Schulze, Sandro; Schaefer, InaModel-based languages such as MATLAB/Simulink are crucial for the development of embedded software systems. To adapt to changing requirements, engineers commonly copy and modify existing systems to create new variants. Denoted clone-and-own, this straightforward reuse strategy entails severe maintenance and consistency issues as redundant and similar assets proliferate. Software product lines can be a remedy but require all existing variants to be compared prior to their actual migration. However, current work mostly revolves around comparing only two systems and those approaches coping with more are not applicable to embedded software systems such as MATLAB/Simulink. We bridge this gap and propose Static Connectivity Matrix Analysis (SCMA), a novel comparison procedure that evaluates multiple MATLAB/Simulink model variants at once. We transfer models into matrix form and identify all similar structures between them, even with parts being completely relocated during clone-and-own. Moreover, we allow engineers to tailor results and to focus on any arbitrary variant subset, enabling individual reasoning prior to migration. We provide a feasibility study from the automotive domain, showing our matrix representation to be suitable and SCMA to be fast and precise.
- KonferenzbeitragFeature Trace Recording - Summary(Software Engineering 2022, 2022) Bittner, Paul Maximilian; Schultheiß, Alexander; Thüm, Thomas; Kehrer, Timo; Young, Jeffrey M.; Linsbauer, LukasIn this work, we report about recent research on Feature Trace Recording, originally published at the Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) 2021. Tracing requirements to their implementation is crucial to all stakeholders of a software development process. When managing software variability, requirements are typically expressed in terms of features, a feature being a user-visible characteristic of the software. While feature traces are fully documented in software product lines, ad-hoc branching and forking, known as clone-and-own, is still the dominant way for developing multi-variant software systems in practice. Retroactive migration to product lines suffers from uncertainties and high effort because knowledge of feature traces must be recovered but is scattered across teams or even lost. We propose a semi-automated methodology for recording feature traces proactively, during software development when the necessary knowledge is present. To support the ongoing development of previously unmanaged clone-and-own projects, we explicitly deal with the absence of domain knowledge for both existing and new source code. We evaluate feature trace recording by replaying code edit patterns from the history of two real-world product lines. Our results show that feature trace recording reduces the manual effort to specify traces.
- KonferenzbeitragQuantifying the Potential to Automate the Synchronization of Variants in Clone-and-Own - Summary(Software Engineering 2023, 2023) Schultheiß, Alexander; Bittner, Paul Maximilian; Thüm, Thomas; Kehrer, TimoWe report about a recent empirical study on variant synchronization in clone-and-own, originally published at the 38th IEEE International Conference on Software Maintenance and Evolution (ICSME) 2022 [Sc22]. In clone-and-own, a new variant of a software system is created by copying and adapting an existing one. While it is flexible, clone-and-own causes high maintenance effort in the long run as cloned variants evolve in parallel; certain changes, such as bug fixes, need to be propagated between variants. A recent line of research proposes to automate such synchronization tasks when migration to a software product line is not feasible. However, it is yet unclear how far this synchronization can actually be pushed. We present an empirical study in which we quantify the potential to automate the synchronization of variants in clone-and-own. We simulate automated variant synchronization using the history of BusyBox, a real-world multi-variant software system. Our results indicate that existing patching techniques propagate changes with an accuracy of up to 85%, if applied consistently from the start of a project. This can be even further improved to 93% by exploiting lightweight domain knowledge about which features are affected by a change, and which variants implement affected features.