Titel: | Strukturangleichende Portierung von Software mit Traceability für die koordinierte plattformübergreifende Co-Evolution | Sonstige Titel: | Software Porting with Structural Alignment and Traceability for Coordinated Cross-Platform Co-Evolution | Sprache: | Deutsch | Autor*in: | Stehle, Tilmann | Schlagwörter: | Portierung; Software-Migration; Traceability; Trace Recovery; Porting; Software-Migration; Traceability; Trace Recovery | GND-Schlagwörter: | SoftwareGND Übersetzung MethodeGND Rückverfolgbarkeit Software EngineeringGND SoftwareentwicklungGND Entwurfsmuster MigrationGND |
Erscheinungsdatum: | 2019 | Tag der mündlichen Prüfung: | 2020-03-04 | Zusammenfassung: | Häufig wird Software für eine spezifische Plattform entwickelt, ehe der Bedarf erkannt wird, sie auch für Nutzer anderer Plattformen zur Verfügung zu stellen. Bestehende Ansätze wie die modellbasierte Softwareentwicklung und Cross-Platform-Frameworks sind für diese Situation nicht angemessen, da sie nur auf Projekte anwendbar sind, die die Entwicklung von Grund auf neu beginnen. Um eine bestehende, reife Software nachträglich auf einer zusätzlichen Plattform zur Verfügung zu stellen, müssen Entwickler diese Software portieren. Durch die Portierung entsteht eine zusätzliche Codebasis für die neue Plattform, die zusätzlich zum ursprünglichen Quellcode weiterentwickelt werden muss. Bei Änderungen müssen Aufgaben wie Concept Location, Impact Analyse, Refactoring und Umsetzung der Änderung sowohl für die ursprüngliche Implementation als auch für die portierte Implementation der Software durchgeführt werden. Die Entwickler müssen diese Aufgaben somit doppelt verrichten und laufen Gefahr, dabei Inkonsistenzen zwischen den Implementationen zu verursachen. Um die doppelt zu verrichtenden Aufgaben zu vereinfachen und zu koordinieren, entwickelt diese Arbeit eine Portierungsmethode, die die Entwürfe und Codestrukturen beider Implementationen bereits bei der Portierung vereinheitlicht. Darüber hinaus entwickelt sie Mechanismen, die plattformübergreifende Entsprechungen zwischen konkreten Code-Elementen wie Klassen und Methoden explizit in Trace Links erfassen. Auf dieser Basis schlägt die Arbeit Ansätze zur plattformübergreifenden Koordination und Vereinfachung der gemeinsamen Weiterentwicklung beider Implementationen vor. Zur Evaluation wurde die Portierungsmethode in drei Fallstudien angewendet. Hohe Anteile der portierten Klassen entsprechen ihren Vorbildern in Bezug auf Zuständigkeit und Schnittstelle oder gar Anweisung für Anweisung. Die entwickelten Mechanismen zur Ermittlung plattformübergreifender Trace Links verknüpfen diese Entsprechungen mit hoher Präzision und Korrektheit. Die Ansätze zur plattformübergreifend koordinierten Weiterentwicklung wurden in prototypischen Werkzeugen implementiert. Sie werden anhand einer der Fallstudien in dieser Arbeit demonstriert. Software is often developed for a specific platform before developers notice the demand to also provide users of other platforms with its features. Exisiting approaches such as model-based development or cross-platform frameworks are not appropriate in this situation as they are only applicable to projects that develop a new software from scratch. To provide users of other platforms with the features of an existing, mature software, developers have to port it, thereby creating an additional codebase. Evolutionary tasks such as concept location, impact analysis, refactoring and implementing change must be conducted on both the original and ported implementation, which leads to double work. To simplify and coordinate these tasks, this thesis develops a porting method that unifies the design and code structures of both codebases. Furthermore, it develops mechanisms that capture explicit cross-platform trace links between equivalent code-elements such as classes and methods. Based on the unified implementations and trace links between corresponding elements, this thesis proposes approaches for coordinating and simplifying evolutionary tasks. To evaluate the proposed porting method, it has been applied to three case studies, each of which is porting a software to a different platform. As a result, high portions of the ported type definitions are equivalent to their original pendants regarding their responsibilities and interfaces, or even match their original counterpart statement by statement. The developed mechanisms for establishing traceability models link these equivalent elements with high precision and recall. The approaches for coordinating the evolution of both codebases have been implemented in prototypical tools. They are exemplarily applied to one of the conducted case studies. |
URL: | https://ediss.sub.uni-hamburg.de/handle/ediss/6245 | URN: | urn:nbn:de:gbv:18-103742 | Dokumenttyp: | Dissertation | Betreuer*in: | Riebisch, Matthias (Prof. Dr.-Ing.) |
Enthalten in den Sammlungen: | Elektronische Dissertationen und Habilitationen |
Dateien zu dieser Ressource:
Datei | Beschreibung | Prüfsumme | Größe | Format | |
---|---|---|---|---|---|
Dissertation.pdf | 265e26523761159cdac550df4f53a63d | 3.4 MB | Adobe PDF | Öffnen/Anzeigen |
Diese Publikation steht in elektronischer Form im Internet bereit und kann gelesen werden. Über den freien Zugang hinaus wurden durch die Urheberin / den Urheber keine weiteren Rechte eingeräumt. Nutzungshandlungen (wie zum Beispiel der Download, das Bearbeiten, das Weiterverbreiten) sind daher nur im Rahmen der gesetzlichen Erlaubnisse des Urheberrechtsgesetzes (UrhG) erlaubt. Dies gilt für die Publikation sowie für ihre einzelnen Bestandteile, soweit nichts Anderes ausgewiesen ist.
Info
Seitenansichten
543
Letzte Woche
Letzten Monat
geprüft am 14.11.2024
Download(s)
605
Letzte Woche
Letzten Monat
geprüft am 14.11.2024
Werkzeuge