• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Lehrstuhl für Programmiersysteme
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
    1. Friedrich-Alexander-Universität
    2. Technische Fakultät
    3. Department Informatik

    Lehrstuhl für Programmiersysteme

    Menu Menu schließen
    • Lehrstuhl
      • Mitarbeitende
      • Stellenangebote
      ↓ Lehrstuhl
    • Forschung
      • Forschungsprojekte
      • Publikationen
      • Jahresberichte
      ↓ Forschung
    • Lehre
      • Lehrveranstaltungen
      • Organisatorisches
      • Examensarbeiten
      ↓ Lehre
    1. Startseite
    2. Forschung
    3. Forschungsprojekte
    4. Holoware

    Holoware

    Bereichsnavigation: Forschung
    • Forschungsprojekte
      • AutoCompTest
      • ORKA
      • SoftWater
      • V&ViP
    • Publikationen
    • Jahresberichte

    Holoware



    Drittmittelfinanzierte Gruppenförderung – Teilprojekt
    Mittelgeber: Bundesministerium für Wirtschaft und Technologie (BMWi)
    Projektleitung: Michael Philippsen, Florian Lautenschlager
    Projektstart: 01.09.2018
    Projektende: 31.08.2020

    Veronika Dashuber

    Dr.-Ing. Veronika Dashuber

    Gastwissenschaftlerin von 2018 bis 2024

    Department Informatik (INF)
    Lehrstuhl für Informatik 2 (Programmiersysteme)

    • Webseite: https://www.ps.tf.fau.de/person/dashuber/
    • LinkedIn: Seite von Veronika Dashuber
    • Xing: Seite von Veronika Dashuber
    • GitHub: Seite von Veronika Dashuber
    • Google Scholar: Seite von Veronika Dashuber
    • ORCID: Seite von Veronika Dashuber
    Florian Jung

    Florian Jung, M. Sc.

    Wissenschaftler von 2018 bis 2020

    Department Informatik (INF)
    Lehrstuhl für Informatik 2 (Programmiersysteme)

    • E-Mail: florian.jung@fau.de
    • Webseite: https://www.ps.tf.fau.de/person/fjung/

    Kooperative Exploration und Analyse von Software in einer Virtual/Augmented Reality Appliance

    Der Aufwand für das Verstehen von Software umfasst in Entwicklungsprojekten bis zu 30% und in Wartungsprojekten bis zu 80% der Programmieraufwände. Deshalb wird in modernen Arbeitsumgebungen zur Software-Entwicklung eine effiziente und effektive Möglichkeit zum Software-Verstehen benötigt. Die dreidimensionale Visualisierung von Software steigert das Verständnis der Sachverhalte deutlich, und damit liegt eine Nutzung von Virtual-Reality-Techniken nahe. Im Rahmen des Holoware Projekts schaffen wir eine Umgebung, in der Software mit Hilfe von VR/AR (Virtual/Augmented Reality) und Technologien der Künstlichen Intelligenz (KI) kooperativ exploriert und analysiert werden kann. In dieser virtuellen Realität wird ein Software-Projekt oder -verbund dreidimensional visualisiert, sodass mehrere Benutzer gleichzeitig die Software gemeinsam und kooperativ erkunden und analysieren können. Verschiedene Nutzer können dabei aus unterschiedlichen Perspektiven und mit unterschiedlich angereicherten Sichten profitieren und erhalten so einen intuitiven Zugang zur Struktur und zum Verhalten der Software. Damit sollen verschiedene Nutzungsszenarien möglich sein, wie z.B. die Anomalieanalyse im Expertenteam, bei der mehrere Domänenexperten gemeinsam eine Laufzeitanomalie der Software analysieren. Sie sehen dabei die selbe statische Struktur der Software, jeder Experte jedoch angereichert mit den für ihn relevanten Detail-Informationen. Im VR-Raum können sie ihre Erkenntnisse kommunizieren und so ihre unterschiedliche Expertise einbringen.

    Darüber hinaus werden die statischen und dynamischen Eigenschaften des Software-Systems analysiert. Zu den statischen Eigenschaften zählen beispielsweise der Source-Code, statische Aufrufbeziehungen oder auch Metriken wie LoC, zyklomatische Komplexität o. Ä. Dynamische Eigenschaften lassen sich in Logs, Ablaufspuren (Traces), Laufzeitmetriken oder auch Konfigurationen, die zur Laufzeit eingelesen werden, gruppieren. Die Herausforderung liegt darin, diese Vielzahl an Informationen zu aggregieren, analysieren und korrelieren. Es wird eine Anomalie- und Signifikanz-Detektion entwickelt, die sowohl Struktur- als auch Laufzeitauffälligkeiten automatisch erkennt. Zudem wird ein Vorhersagesystem aufgebaut, das Aussagen über die Komponentengesundheit macht. Dadurch kann beispielsweise vorhergesagt werden, welche Komponente gefährdet ist, demnächst auszufallen. Bisher werden die Ablaufspuren um die Log-Einträge angereichert, wodurch ein detailliertes Bild der dynamischen Aufrufbeziehungen entsteht. Diese dynamischen Beziehungen werden auf den statischen Aufrufgraph abgebildet, da sie Aufrufe beschreiben, die aus der statischen Analyse nicht hervorgehen (beispielsweise REST-Aufrufe über mehrere verteilte Komponenten).

    Im Jahr 2018 konnten folgende wesentlichen Beiträge geleistet werden:     

    • Entwicklung eines funktionsfähigen VR-Visualisierungsprototyps zu Demonstrations- und Forschungszwecken.
    • Mapping von dynamischer Laufzeitdaten auf die statische Struktur als Grundlage für deren Analyse und Visualisierung.    
    • Entwurf und Implementierung der Anomalieerkennung von Ablaufspuren durch ein Unsupervised-Learning-Verfahren. 

    Im Jahr 2019 konnten weitere Verbesserungen erreicht werden:     
    • Erweiterung des Prototyps um die Darstellung dynamischen Software-Verhaltens.    
    • Kooperative (Remote-)Nutzung des Visualisierungsprototyps.    
    • Auswertung von Commit-Nachrichten zur Anomalieerkennung.    
    • Clustering der Aufrufe eines Systems nach Anwendungsfällen.  

    In dem Papier "Towards Collaborative and Dynamic Software Visualization in VR", das auf der International Conference on Computer Graphics Theory and Applications (VISIGRAPP) 2020 angenommen wurde, haben wir die Wirksamkeit unseres Prototyps zur Effizienzsteigerung beim Software-Verstehen gezeigt.  Im Jahr 2020 wurde unser Papier "A Layered Software City for Dependency Visualization" auf der International Conference on Computer Graphics Theory and Applications (VISIGRAPP) 2021 angenommen und mit dem "Best Paper"-Award ausgezeichnet. Wir konnten belegen, dass das von uns entwickelte Layered Layout für Software-Städte das Analysieren von Software-Architektur vereinfacht und das Standard-Layout bei weitem übertrifft. Der finale Prototyp und die Publikationen, die im Rahmen des Forschungsprojektes entstanden sind, führten zu einem erfolgreichen Projektabschluss. 

    Nach Auslaufen der offiziellen Projektförderung durften wir in 2021 eine erweiterte Version des Award-Papiers ("Static And Dynamic Dependency Visualization in a Layered Software City") als Zeitschriftenartikel zur Begutachtung einreichen. Hier stellen wir eine Nacht-Ansicht der Stadt vor, in der die dynamischen Aufrufbeziehungen als Bögen visualisiert werden. Wir widmeten uns also einem zentralen, noch offenen Punkt: der Visualisierung von dynamischen Abhängigkeiten. In dem Papier "Trace Visualization within the Software City Metaphor: A Controlled Experiment on Program Comprehension" auf der IEEE Working Conference on Software Visualization (VISSOFT) haben wir dynamische Abhängigkeiten innerhalb der Software-Stadt über Licht-Intensitäten aggregiert dargestellt und konnten zeigen, dass diese Darstellung hilfreicher ist als alle Abhängigkeiten zu zeichnen. Auch für dieses Papier wurden wir zur Einreichung eines erweiterten Artikels "Trace Visualization within the Software City Metaphor: Controlled Experiments on Program Comprehension" zur Begutachtung aufgefordert. Wir zeigen dort eine erweiterte Darstellung dynamischer Abhängigkeiten und färben Bögen basierend auf HTTP Statuscodes.

    In 2022 wurden beide Journalbeiträge akzeptiert: "Static And Dynamic Dependency Visualization in a Layered Software City" ist im Springer Nature Computer Science Journal veröffentlicht und "Trace Visualization within the Software City Metaphor: Controlled Experiments on Program Comprehension" wurde für das Information and Software Technology Journal angenommen. Zur Finalisierung von Holoware wurden alle Erweiterungen zu einer Gesamtvisualisierung zusammengefasst. Dazu wurden unterschiedlichen Ansichten verwendet, zwischen denen der Nutzer umschalten kann: in der Tagesansicht kann die Software-Architektur im neuartigen Holoware-Schichten-Layout analysiert werden und in der Nachtansicht werden dynamische Abhängigkeiten dargestellt. Im Rahmen einer Abschlussarbeit wurde Holoware zudem als AR-Visualisierung umgesetzt, sodass sie leicht als Showcase oder im Arbeitsalltag eingesetzt werden kann.
    Mitte 2023 wurde das Projekt mit der Dissertation "Visualisierung der Statik, Dynamik und Infrastruktur von Software mit Hilfe der Stadt‐Metapher" final abgeschlossen. Dort werden nochmal alle Aspekte zusammengefasst, die im Rahmen von Holoware untersucht wurden: (a) die Statik des Systems, um die Software-Architektur zu begreifen, (b) die Dynamik des Systems, um die dynamische Abhängigkeiten (z. B. moderner Microservice-Architekturen) zu verstehen, und (c) die Infrastruktur des Systems, um Kosten zu analysieren und das Verständnis des Software‐Betriebs zu fördern. Zudem wurde 2023 noch ein weiterer Anwendungsfall aufgedeckt: der Einsatz von Holoware auf Messen. Durch die Visualisierung der Software ist es einfach, mit anderen Software-Entwicklern ins Gespräch zu kommen, da sofort über die visualisierte Software diskutiert werden kann. Dazu wurde das Setup der AR- und VR-Visualisierung so vereinfacht, dass Holoware jetzt auch ohne große technische Vorkenntnisse gestartet werden kann. Zudem wurde der Kontrast der Visualisierung verbessert, damit Umrisse und Bögen auch bei sehr hellen Lichtverhältnissen noch klar zu erkennen sind.

    Publikationen

    • Jung F., Dashuber V., Philippsen M.:
      Towards Collaborative and Dynamic Software Visualization in VR
      15th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (GRAPP 2020) (Valletta, 27.02.2020 - 29.02.2020)
      In: Andreas Kerren, Christophe Hurter, Jose Braz (Hrsg.): Proceedings of the 15th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 3: IVAPP, Portugal: 2020
      DOI: 10.5220/0008945201490156
      URL: http://www.ivapp.visigrapp.org/
      BibTeX: Download
    • Dashuber V., Philippsen M., Weigend J.:
      A layered software city for dependency visualization (Best Paper Award)
      16th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications, VISIGRAPP 2021 (Virtual, originally Vienna, Austria, 08.02.2021 - 10.02.2021)
      In: Christophe Hurter, Helen Purchase, Jose Braz, Kadi Bouatouch (Hrsg.): Proceedings of the 16th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 3: IVAPP, Portugal: 2021
      DOI: 10.5220/0010180200150026
      URL: http://www.ivapp.visigrapp.org
      BibTeX: Download
    • Dashuber V., Philippsen M.:
      Trace Visualization within the Software City Metaphor: A Controlled Experiment on Program Comprehension
      IEEE Working Conference on Software Visualization (VISSOFT) (Virtual, originally Luxembourg City, Luxembourg, 27.09.2021 - 28.09.2021)
      In: Proceedings of the IEEE Working Conference on Software Visualization (VISSOFT) 2021
      DOI: 10.1109/VISSOFT52517.2021.00015
      BibTeX: Download
    • Dashuber V., Philippsen M.:
      Cloud Cost City: A Visualization of Cloud Costs Using the City Metaphor
      16th International Conference on Information Visualization Theory and Applications (IVAPP) (Virtual, originally Vienna, Austria, 08.02.2021 - 10.02.2021)
      In: Christophe Hurter, Helen Purchase, Jose Braz, Kadi Bouatouch (Hrsg.): Proceedings of the 16th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP) - Volume 3: IVAPP, Portugal: 2021
      DOI: 10.5220/0010254701730180
      BibTeX: Download
    • Dashuber V., Philippsen M.:
      Static And Dynamic Dependency Visualization in a Layered Software City
      In: SN Computer Science 3 (2022), S. Article 511
      ISSN: 2661-8907
      DOI: 10.1007/s42979-022-01404-6
      BibTeX: Download

    Department Informatik
    Lehrstuhl für Programmiersysteme (Informatik 2)

    Martensstraße 3
    91058 Erlangen
    • Interna
    • Impressum
    • Datenschutz
    • Barrierefreiheit
    • Facebook
    • RSS Feed
    • Twitter
    • Xing
    Nach oben