Project Details
Projekt Print View

Stepwise Migration of Cloned Product Variants to a Compositional Software Product Line

Subject Area Software Engineering and Programming Languages
Term from 2015 to 2022
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 280801480
 
Final Report Year 2022

Final Report Abstract

In der ersten Projekthälfte haben wir einen Migrationsprozess von Clone-and-Own Varianten hinzu einer durch Software Product Line Engineering (SPLE) verwalteten integrierten Plattform vorgeschlagen. In der zweiten Projekthälfte haben diesen Ansatz erweitertet und verschiedene Aspekte dazu untersucht. Dabei haben wir unter anderem die Kosten für die Verwaltung von Varianten mittels Clone-and-own und SPLE, die Kosten für die Durchführung des Migrationsprozesses, die Verwendung von annotationbasierten Ansätzen, die Sicherstellung der Qualität des SPLE-Prozesses und der resultierenden Software Produktlinien (SPLs) und die Analyse von Versionsverwaltungssysteme (VCS) betrachtet. In der zweiten Projekthälfte haben wir den von uns vorgeschlagenen Migrationsansatz weiterentwickelt und auf die allgemeine Entwicklung mit SPLE erweitert. Der weiterentwickelte Ansatz ist dabei an moderne, agile Softwareentwicklung mit Fokus auf Evolution der Varianten und des Variantenraums angelehnt und soll dadurch Entwickler besser unterstützen. Zusätzlich haben wir die beim Migrationsprozess entstehenden Kosten mittels Fallstudien näher untersucht. Als Ergebnis kommen wir zu dem Schluss, dass unabhängig vom gewählten Migrationsprozess und Variabilitätsmechanismus immer bestimme Aktivitäten mit entsprechendem Aufwand durchgeführt werden müssen. Ein Unterschied zeigt bei der Wahl eines Variabilitätsmechanismuses. So bedeutet eine Migration zu einem annotationsbasierten Ansatz weniger Aufwand, als bei einem kompositionsbasierten Ansatz. Bei einem Vergleich der laufenden Kosten zur Verwaltung von Varianten mittels Clone-and-Own und einem SPLE-Ansatz zeigt sich, dass SPLE in der Regel zu bevorzugen ist. Überraschend waren bei dieser Untersuchung die Erkenntnisse, dass Fehlerbehebung in SPLE zu ähnlich schweren Problemen führt, wie bei Clone-and-Own und dass SPLE-Ansätze trotz ihrer komplexeren Verwaltung Innovationen fördern können. Weitere Forschung haben wir zu den annotationsbasierten Ansätzen und Microservises für SPLE durchgeführt. Aus den Untersuchung zum Programmverständnis von Entwicklern und die Code-Qualitätergaben sich zum Teil überraschende Ergebnisse, die den etablierten Vorstellungen widersprechen. So kann die Refactorisierung von schlecht strukturierten Präprozessor Annotationen die Gesamtqualität des Codes und damit das Programmverständnis reduzieren. Weiterhin haben wir Untersuchungen im Bereich der Qualitätssicherung des SPLE-Prozesses und resultierenden SPLs durchgeführt. Als Ergebnis können wir das Family Evaluation Framework (FEF) eine geeignete Methode zur Bewertung der Qualität des eingesetzten SPLE-Prozesses identifizieren. Zudem haben wir weitere Untersuchungen im Bereich der Qualitätssicherung von migrierten und bestehenden SPLs und zur allgemeinen Verwaltung und Analyse von SPLs angestellt. Eine weiterer Forschungspunkt war die Nutzung von VCS als Informationsquelle und als Ausgangspunkt für die Migration von Clone-and-Own Varianten. Für die Überführung von Varianten in Forks von VCS haben wir Tool Support entwickelt und evaluiert. Dieses Tool ermöglicht Entwicklern die leichte Verwaltung variantenreicher Systeme und bietet Forschern neue Analysemethoden und Forschungsmöglichkeiten zur Variantenmanagement mittels VCS.

Publications

 
 

Additional Information

Textvergrößerung und Kontrastanpassung