Please use this identifier to cite or link to this item: http://dx.doi.org/10.25673/14010
Title: Analysis techniques to support the evolution of variant-rich software systems
Author(s): Schulze, Sandro
Referee(s): Saake, GunterLook up in the Integrated Authority File of the German National Library
Granting Institution: Otto-von-Guericke-Universität Magdeburg, Fakultät für Informatik
Issue Date: 2019
Extent: xvi, 70 Seiten
Type: HochschulschriftLook up in the Integrated Authority File of the German National Library
Type: Habilitation
Exam Date: 2019
Language: English
URN: urn:nbn:de:gbv:ma9:1-1981185920-141417
Subjects: Software engineering
Abstract: Software is eating the world is a common saying nowadays, paraphrasing the fact that software influences almost all parts of industry or our daily life. This makes software subject to mass production while at the same time, there is an increasing demand for customization of software systems to adhere to specific requirements of users or environments. As a result, a software system is developed in many similar, yet di↵erent variants, thus, constituting a variant-rich software system. To enable development of such variant-rich systems, two approaches are commonly used: First, structured reuse by means of integrated variability allows to specify the di↵erences between variants on domain and implementation level. Second, adhoc reuse by means of clone-and-own, which reuses existing variants by copying them and afterwards, apply the required modifications (e.g., code changes) to achieve the desired variant. While both are commonly used, they raise challenges to the evolution of variant-rich system for aspects such as maintainability, testability, extensibility or reliability. In my research, I have developed techniques that allow to understand the reasons behind evolutionary challenges and how to identify and mitigate them. In this thesis, I summarize this research, mainly conducted within the last 4 years. In particular, I will present empirical as well as evolutionary analysis techniques to better understand the problems that integrated variability cause for developers and system quality. For cloneand- own systems, I will present reverse engineering techniques for di↵erent artefact types (models, requirements) that aim to extract the variability information, and thus, provide developers with a global and unified view of all variants under development.
Software ist auf dem Vormarsch. Ob durch voranschreitende Technologien, eine zunehmende Automatisierung oder die vielbeschworene Digitalisierung; Software beeinflusst mittlerweile fast alle Bereiche der Industrie oder unseres täglichen Lebens. Dies macht Software zu einem Gegenstand der Massenproduktion, während gleichzeitig die Nachfrage nach Anpassungen von Softwaresystemen an spezifische Anforderungen von Benutzern oder Umgebungen zunimmt. Infolgedessen wird ein Softwaresystem in vielen ähnlichen, aber unterschiedlichen Varianten entwickelt und bildet somit ein variantenreiches Softwaresystem. Um die Entwicklung derartiger variantenreicher Systeme zu ermöglichen, werden im Allgemeinen zwei Ansätze verwendet: Erstens ermöglicht die strukturierte Wiederverwendung mittels integrierter Variabilität, die Unterschiede zwischen Varianten auf Domänen- und Implementierungsebene zu definieren. Zweitens, Ad-hoc Wiederverwendung mittels clone-and-own, wobei vorhandene Varianten durch Kopieren wiederverwendet werden und anschließend die erforderlichen Modifikationen (z.B. Codeänderungen) auf der kopierten Variante durchgeführt werden, um das gewünschte Ergebnis zu erreichen. Obwohl beide häufig verwendet werden, stellen sie hinsichtlich der Wartbarkeit, Testbarkeit, Erweiterbarkeit oder Zuverlässigkeit die Entwicklung variantenreicher Systeme vor große Herausforderungen. In meiner Forschung habe ich Techniken entwickelt, die es ermöglichen, die Gründe für diese evolution¨aren Herausforderungen zu verstehen, zu erkennen und zu begrenzen. In dieser Arbeit fasse ich diese Forschung zusammen, die hauptsächlich in den letzten 4 Jahren durchgeführt wurde. Insbesondere werde ich sowohl empirische als auch evolutionäre Analysetechniken vorstellen, um die Probleme, die die integrierte Variabilität für Entwickler und die Systemqualität verursacht, besser zu verstehen. Für clone-andown Systeme werde ich Reverse Engineering Techniken für verschiedene Artefakttypen (Modelle, Anforderungen) vorstellen, die darauf abzielen, die Informationen zur Variabilität zu extrahieren, und so Entwicklern eine globale und einheitliche Ansicht aller in der Entwicklung befindlichen Varianten bieten.
URI: https://opendata.uni-halle.de//handle/1981185920/14141
http://dx.doi.org/10.25673/14010
Open Access: Open access publication
License: (CC BY-SA 4.0) Creative Commons Attribution ShareAlike 4.0
Appears in Collections:Fakultät für Informatik

Files in This Item:
File Description SizeFormat 
Schulze_Sandro_Habil_2019.pdfHabilitation14.07 MBAdobe PDFThumbnail
View/Open


This item is licensed under a Creative Commons License Creative Commons