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.
Beim Übergang von Desktop zu Web Anwendungen ändert sich zwingend die Benutzerschnittstelle (UI). Diese Änderung beeinflusst die Nutzerakzeptanz mehr, als beispielsweise Änderungen im Backend und stellt folglich einen Risikofaktor dar. Wenn die Änderungen zu drastisch ausfallen, riskiert der Software Provider den Verlust von Kunden. Ziel ist es also, den Grad an von Nutzern wahrgenommenen Änderungen kontrolieren zu können. Hierfür ist es nötig, diesen möglichst automatisch bestimmen zu können, indem UI Elemente automatisch erkannt werden.
Ziel dieses Praktikums ist die Verbesserung der automatischen Erkennung von UI
Elementen (z.b. Buttons, Textboxen, Checkboxen, Labels, Textparagraphen, Links,
Radiobuttons, Selects/Listen, Bilder, Symbole etc.) in Screenshots von
Nutzerschnittstellen, sowohl von Desktopanwendungen als auch Webanwendungen, basierend auf
visuellen Merkmalen. Das Ergebnis einer solchen visuellen Analyse sind Position und
Größe des UI Elements (im allgemeinen durch die bounding box
beschrieben), sowie Informationen zur Art des Elements (unterschiedliche Typen wie oben
aufgelistet) und ggf. weiterführende Informationen (z.B. Zustand, Ausrichtung,
Font, Farbe)
Diese Verbesserung umfasst zwei Dimensionen:
a) Verbesserung der Vollständigkeit (vgl. Recall) der Erkennung aller
Elemente eines UI Screenshots und
b) Verbesserung der Korrektheit (vgl. Precision) der Erkennung aller Elemente
eines UI Screenshots.
Um diese Verbesserung zu erreichen, sollen übliche Algorithmen aus
populären Frameworks der Themenfelder Maschinelles Lernen, Deep Learning und
Bildanalyse/Bildverstehen verwendet werden. Hierfür nötige
Trainingsdatensätze werden im Rahmen des Forschungspraktikums entweder
eigenständig mit Hilfe von entsprechenden Skripten erstellt, oder es wird auf
bestehende Datensätze zurückgegriffen.
Die umgesetzte Lösung wird in die bestehende Web-Service Infrastruktur
der Professur integriert, als Datenformat kommt JSON zum Einsatz.
Der Nachweis der Verbesserung durch die eigene Lösung wird mit einer
geeigneten Evaluation erbracht, für die die bestehende Umsetzung der Professur
sowie die eigene Lösung auf einem geeigneten Testdatensatz von verschiedenen
Nutzerschnittstellen angewendet werden, und die Ergebnisse vergleichend dargestellt und
analysiert werden.