Look inside the software architecture AI turns software into images and looks for weaknesses
Eva Tritschler *
Vulnerabilities are inextricably linked to large IT systems and can only be identified with great effort. The Institute of Visual Computing at the Bonn-Rhein-Sieg University of Applied Sciences (H-BRS) is developing a novel analysis method that uses artificial intelligence to translate the software structure into images – and thus quickly and cost–effectively reveals the need for optimization.
Companies on the topic
Visualization of data streams on the display wall in the H-BRS.
(Photo by Juri Küstenmacher/ H-BRS)
The rapid evaluation of software architecture and the analysis of future viability is immensely important across industries for all companies that develop or use larger software systems. But even in the case of the planned acquisition of a technology company, a technical review is of great importance:
- How sustainable is the developed technology?
- How easy is it to integrate and expand?
- What about the licenses of the software?
With large, aging software systems, the question regularly arises as to whether further maintenance is worthwhile or whether a complete new development, often coupled with a technological leap, is more forward-looking.
The Bonn-Rhein-Sieg University of Applied Sciences is currently working together with the company Bitsea on novel tools for the fast and detailed analysis of complex software structures. The two partners are breaking new ground, because the system they developed not only carries out a static analysis of the software, but also considers the runtime behavior. For example, it analyzes the open source components used and the associated licenses.
Particularly novel are the visualization tools, which also give non-experts access to the software architecture, runtime behavior and licenses of the components. After completing the analysis, the system is able to automatically make suggestions for optimizing the software architecture under study – within a short time and at comparatively low costs.
Translating runtime behavior into images
“Grown software systems use a variety of components and external software libraries. A purely static analysis gives no impression of the runtime behavior if these components are only loaded at runtime. Even data flows to databases or via external interfaces cannot be adequately evaluated in a static analysis of the software,“ explains Martin Weier, project Manager at H-BRS.
Visualizations are a common method in the analysis of software architectures. The electronic structures are represented, for example, as trees, clusters or cities. The innovation of the system developed in partnership is that it can also translate the runtime behavior of software into visual representations.
The system must therefore be able to achieve visualizations that can be meaningfully evaluated at a very high information density. In addition, the visualizations should be understandable for a wide range of end users. This requires, among other things, easy navigation, various levels of detail and an intuitive user interface.
The potential of Immersive Analytics
H-BRS and Bitsea are therefore also exploring the potential of immersive analytics. This still young field of research deals with the question of how the human understanding of data can be supported with the help of visualization hardware such as display walls or data glasses. In addition, it will also be investigated what role artificial intelligence can play in the analysis of dynamic processes and the visualization of software systems.
The system from H-BRS and Bitsea also takes a new approach with regard to maintenance recommendations: unlike conventional systems, it is not limited to the source codes, but provides recommendations at the architecture level. The detected vulnerabilities in the software can be shown directly in the visualization and possible solutions can be mapped.
“With the help of immersive visualization techniques, complex relationships can be examined and discussed in their context and collaboratively. This opens up new perspectives on software systems and their critical components. Such a platform has the potential to lead to new insights in software projects, and thus makes it possible to control development processes in a more targeted manner,“ says project manager Weier.