Nachrichten, Gerüchte, Meldungen und Berichte aus der IT-Szene
Redaktion: Heinz Schmitz
Blick ins Innere der Software-Architektur
Visualisierung von Datenströmen auf der Displaywand in der H-BRS. (Quelle: Juri Küstenmacher/H-BR)
Die schnelle Bewertung von Software-Architektur und die Analyse der Zukunftsfähigkeit ist branchenübergreifend immens wichtig für alle Firmen, die größere Softwaresysteme entwickeln oder einsetzen. Aber auch im Fall der geplanten Übernahme einer Technologiefirma ist eine technische Überprüfung von großer Bedeutung: Wie zukunftsfähig ist die entwickelte Technologie? Wie leicht lässt sie sich integrieren und erweitern? Wie verhält es sich mit den Lizenzen der Software? Regelmäßig stellt sich bei großen, in die Jahre gekommenen Softwaresystemen zudem die Frage, ob die weitere Wartung lohnend ist oder ob eine komplette Neuentwicklung, oft gekoppelt mit einem Technologiesprung, zukunftsweisender ist.
Die Hochschule Bonn-Rhein-Sieg arbeitet derzeit gemeinsam mit dem Unternehmen Bitsea an neuartigen Werkzeugen zur schnellen und detaillierten Analyse komplexer Softwarestrukturen. Die beiden Partner gehen dabei neue Wege, denn das von ihnen entwickelte System nimmt nicht nur eine statische Analyse der Software vor, sondern betrachtet auch das Laufzeitverhalten. Dabei analysiert es etwa die genutzten Open-Source- Bestandteile und die damit verbundenen Lizenzen. Neuartig sind insbesondere die Visualisierungswerkzeuge, die auch Nicht- Experten einen Zugang zur Softwarearchitektur, zu Laufzeitverhalten und zu Lizenzen der Komponenten verschaffen. Nach Abschluss der Analyse ist das System in der Lage, automatisiert Vorschläge zur Optimierung der untersuchten Software-Architektur zu machen – innerhalb kurzer Zeit und zu vergleichsweise niedrigen Kosten.
Laufzeitverhalten in Bilder übersetzen
„Gewachsene Softwaresysteme nutzen eine Vielzahl von Komponenten und externen Softwarebibliotheken. Eine rein statische Analyse verschafft keinen Eindruck über das Laufzeitverhalten, wenn diese Komponenten erst zur Laufzeit hinzugeladen werden. Auch Datenflüsse zu Datenbanken oder über externe Schnittstellen lassen sich bei einer statischen Analyse der Software nicht ausreichend bewerten“, erläutert Dr. Martin Weier, Projektleiter an der H-BRS.
Visualisierungen sind bei der Analyse von Software-Architekturen eine gängige Methode. Die elektronischen Strukturen werden dabei zum Beispiel als Bäume, Cluster oder Städte dargestellt. Die Innovation des partnerschaftlich entwickelten Systems besteht darin, dass es auch das Laufzeitverhalten von Software in bildliche Darstellungen übersetzen kann. Das System muss daher in der Lage sein, bei einer sehr hohen Informationsdichte zu sinnvoll auswertbaren Visualisierungen zu gelangen. Zudem sollen die Visualisierungen für unterschiedlichste Endnutzer verständlich sein. Dies setzt unter anderem eine einfache Navigation, verschiedene Detailgrade und eine intuitive Benutzerschnittstelle voraus.
Die Potenziale von Immersive Analytics nutzen
H-BRS und Bitsea erforschen daher auch die Potenziale von Immersive Analytics. Dieses noch junge Forschungsgebiet befasst sich mit der Frage, wie sich das menschliche Verständnis von Daten mithilfe von Visualisierungs-Hardware wie etwa Display-Wänden oder Datenbrillen unterstützen lässt. Außerdem soll auch untersucht werden, welche Rolle künstliche Intelligenz bei der Analyse von dynamischen Prozessen und der Visualisierung von Softwaresystemen spielen kann.
Auch im Hinblick auf Wartungsempfehlungen verfolgt das System von H-BRS und Bitsea einen neuen Ansatz: Anders als herkömmliche Systeme beschränkt es sich nicht auf die Quellcodes, sondern gibt Empfehlungen auf Architekturebene. Die erkannten Schwachstellen in der Software können direkt in der Visualisierung gezeigt und mögliche Lösungsvorschläge abgebildet werden. „Mit Hilfe von immersiven Visualisierungstechniken können komplexe Zusammenhänge in ihrem Kontext und kollaborativ untersucht und diskutiert werden. Dies eröffnet neue Sichtweisen auf Softwaresysteme und deren kritische Komponenten. Eine solche Plattform hat das Potential, zu neuen Erkenntnissen bei Softwareprojekten zu führen, und erlaubt es dadurch, Entwicklungsprozesse zielgerichteter zu steuern“, so Projektleiter Martin Weier.
Siehe auch: