Masterarbeit
Korrelation von Annotationen in sich ändernden Quelltexten
Completion
2017/07
Research Area
Students
Advisers
Dr.-Ing. Sebastian Heil
Description (German)
Sich verändernde Nutzererwartungen stellen neue Anforderungen an bestehende Softwaresysteme. Auch die ständige Weiterentwicklung von Technologien und das Wegfallen der Unterstützung für veraltete Technologien erhöhen den Druck, bestehende Softwaresysteme zu erneuern. Da über lange Zeiträume hinweg entwickelte Systeme viel Wissen über Modelle, Regeln und Lösungen der Anwendungsdomäne im Quelltext beinhalten, ist es oft nicht sinnvoll diese durch eine komplette Neuentwicklung abzulösen. Vielmehr ist es nötig, bestehende Softwaresysteme in neue Systeme zu überführen und dabei bereits vorhandenes Wissen zu erhalten. Mit dieser Zielstellung beschäftigt sich die Softwaremigration.
Ein aktueller Forschungsansatz zum Festhalten und Nutzbarmachen des impliziten Wissens in Quelltexten stellen Annotationen dar. Hierbei werden Bereiche des Quelltextes markiert und einem Wissenskonzept zugeordnet. Beispielsweise kann es sich um Quelltext handeln, der zu einer bestimmten User Story bzw. Use Case gehört. Auf diese Art können aber auch Datenmodelle, Regeln, Konfigurationsdaten, Algorithmen etc. im Quelltext markiert werden. Implementiert wurde dieser Ansatz als Webanwendung.
Während es für kleinere Migrationsprojekte möglich ist mittels eines full freezes den zu migrierenden Quelltext unverändert zu halten, kann dies auf größere Softwareprojekte nicht angewandt werden. Nötige Wartungsarbeiten und Weiterentwicklung der Software können nicht für die Dauer der Migration zurückgehalten werden. Dies stellt eine Herausforderung für die bereits bestehenden Annotationen dar, welche mit erheblichem Arbeitsaufwand erstellt wurden. Es gilt zu gewährleisten, dass diese nicht durch Änderungen des Quelltextes sich auf falsche Bereiche beziehen oder gar verloren gehen. Hierfür müssen bereits annotierte Bereiche mit entsprechenden Bereichen im veränderten Quelltext korreliert werden. Eine mögliche Lösung orientiert sich an der Grundidee der Delta-Migration bzw. des aus Versionsverwaltungssystemen wie Git, SVN, Mercurial etc. bekannten change trackings und diffs. Da Quelltext im Allgemeinen unter Versionskontrolle steht, können die Daten (Commits) der Versionskontrolle direkt zur Lösung des Problems genutzt werden.
Diese Arbeit findet im Rahmen des eHealth Research Labs in Kooperation mit unserem Industrie-Partner statt. Die Betreuung durch die Professur VSR wird ergänzt durch Betreuung und regelmäßige Rücksprache mit Entwicklern unseres Partners. Dies bietet Ihnen die Möglichkeit, an einem praxisnahen Thema mit direktem Kontakt zur Softwareindustrie zu arbeiten und die Arbeitsweise in einem Softwareentwicklungsunternehmen kennenzulernen. Bei Interesse an noch engerer Zusammenarbeit mit unserem Industriepartner können Sie sich gerne an uns wenden.