Detailseite
Projekt Druckansicht

Schrittweise Überführung geklonter Produktvarianten in eine kompositionale Software-Produktlinie

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung von 2015 bis 2022
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 280801480
 
Software-Produktlinien fördern die strategische Wiederverwendung von Software und den systematischen Umgang mit Variabilität. In der Praxis werden Wiederverwendung und Variabilität jedoch häufig ad hoc realisiert, indem Artefakte kopiert und angepasst werden (der Clone-and-Own-Ansatz). Aufgrund mangelnder Automatisierung ist die Übertragung von Änderungen (z. B. Fehlerbeseitigungen, Performance-Verbesserungen) auf mehrere geklonte Produktvarianten sowie der Austausch von Funktionalität zwischen Varianten zeitaufwendig und fehleranfällig.Zur Lösung schlagen wir die schrittweise Überführung geklonter Produktvarianten in eine kompositionale Software-Produktlinie (SPL) vor. Die Varianten werden zunächst unverändert in eine initiale SPL integriert. Anschließend wird diese SPL mittels kleiner, Semantik-erhaltender Schritte in eine gut strukturierte, modulare Ziel-SPL transformiert. Ein derartiges Vorgehen bietet gegenüber existierenden Ansätzen zur Überführung von Produktvarianten in SPLs folgende Vorteile:1) Die SPL kann unmittelbar produktiv eingesetzt werden. Bisher waren lange Produktionsstopps erforderlich, da die Überführung nicht unterbrochen werden konnte.2) Der kompositionale Implementierungsansatz begünstigt die Wartbarkeit. Die Probleme der in der Praxis verbreiteten annotativen SPL-Implementierungsansätze (u. a. wenig modularer, schlecht verständlicher Programm-Code) werden vermieden.3) Die Semantik-Erhaltung der ursprünglichen Varianten wird garantiert.Kernziel unseres Projekts ist die Erforschung Varianten-erhaltender Refactorings. Darunter verstehen wir konsistente Transformationen auf Modell- und Implementierungsebene, die Semantik-erhaltend bezüglich aller möglichen Produkte der SPL sind. Diese Refactorings werden wir mit Code-Clone-Erkennung kombinieren, um den Grad der Wiederverwendung schrittweise zu erhöhen und somit den Wartungsaufwand und die zukünftige Defektrate zu senken. Zudem werden wir Feature-Lokalisierungstechniken in multiplen Produktvarianten erforschen. In Verbindung mit Varianten-erhaltendem Refactoring ermöglichen diese Techniken die schrittweise Feature-orientierte Extraktion von Funktionalität aus multiplen Produktvarianten. Durch Komposition der extrahierten Features können nicht nur die ursprünglichen Varianten rekonstruiert werden. Es werden darüber hinaus neue Varianten möglich, sodass noch gezielter auf Anforderungen reagiert werden kann.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung