Detailseite
VariantSync 2: Automatisierung der Synchronisation von Software-Varianten
Antragsteller
Professor Dr.-Ing. Thomas Thüm
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung seit 2018
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 415562030
Heutige Software wird oft in mehreren Varianten entwickelt, um alle Kundenanforderungen zu erfüllen. Software-Produktlinien haben dabei das Potenzial, die Entwicklungskosten und die Zeit bis zur Markteinführung zu senken, und werden seit mehr als zwei Jahrzehnten aktiv erforscht. Dennoch verlassen sich Praktiker häufig auf die Ad-hoc-Wiederverwendung nach dem so genannten Clone-and-Own-Prinzip, bei dem neue Varianten einer Softwarefamilie durch Kopieren und Anpassen einer bestehenden Variante erstellt werden. Wenn jedoch eine kritische Anzahl von Varianten erreicht ist, wird deren Wartung und Weiterentwicklung unübersichtlich, wenn nicht gar unmöglich. Zudem ist die Migration zu einer Produktlinie dann oft nicht mehr durchführbar. Im Forschungsprojekt VariantSync, entwickeln wir einen grundlegend neuen Entwicklungsansatz, der die Lücke zwischen Clone-and-Own und Produktlinien schließt und den minimalen Overhead von Clone-and-Own mit der systematischen Behandlung von Variabilität wie in Software-Produktlinien kombiniert. Kernmotivation ist die transparente Integration zentraler Produktlinienkonzepte, wie Features und Konfigurationen, mit den aus Versionskontrollsystemen bekannten Möglichkeiten des Variantenmanagements, um eine Menge von Varianten weiterzuentwickeln und automatisch zu synchronisieren. Mit VariantSync I sind wir unserer Vision zwar näher gekommen, haben jedoch auch zwei große Herausforderungen identifiziert, die wir bisher noch nicht erforscht haben. Erstens sind Entwickler, die in der Vergangenheit mit Clone-and-Own entwickelt haben, möglicherweise nicht in der Lage, Domänenwissen sofort mit 100-%iger Sicherheit zu spezifizieren, sodass unsere Methoden Unsicherheit im Domänenwissen berücksichtigen müssen. Zweitens können wir, auch wenn die Vision von VariantSync darin besteht, die Synchronisierung von Varianten zu automatisieren, nicht erwarten, dass Varianten zu 100 % synchronisiert sind. Wir müssen berücksichtigen, dass sich die Varianten im Laufe der Zeit auseinander “driften”. Beide Herausforderungen sind entscheidend für unsere Gesamtvision und sollen in VariantSync II untersucht werden. Wir werden zunächst einen explorativen Ansatz verwenden, um ein besseres Verständnis und ein formales Modell sowohl der Unsicherheit als auch der Variantendivergenz (engl. variant drift) von geklonten Varianten zu erhalten. Mit einem wie in der Forschung zur Softwaretechnik üblichen, gestaltungsorientiertem Ansatz (engl. design-science research) werden wir konzeptionelle Lösungen für den Umgang mit Unsicherheit und Variantendivergenz in Form von Forschungsprototypen entwickeln und implementieren, die in kontrollierten Experimenten empirisch evaluiert werden sollen. Wir glauben, dass unsere Forschungsergebnisse das Potenzial haben, die Art und Weise, wie Praktiker variantenreiche Softwaresysteme entwickeln, bei denen es schwer vorhersehbar ist, welche Varianten in Zukunft entwickelt werden, effektiv zu verändern.
DFG-Verfahren
Sachbeihilfen
Internationaler Bezug
Schweiz
Partnerorganisation
Schweizerischer Nationalfonds (SNF)
Kooperationspartner
Professor Dr. Timo Kehrer