Software improvement by immersive analytics and artificial intelligence
1.1 Project description and objective
„Companies that proactively prevent software ageing can reduce the share of maintenance costs in their total IT costs to less than 30%. In contrast, organisations that do not implement any measures to maintain software systems can expect maintenance costs to account for more than 60% of their total IT costs.” – Capers Jones[1]
Almost all industries today are dependent on IT systems. Rapid advances in software development and technology require even more sophisticated and complex development processes to keep pace in the market. Software systems are becoming more and more extensive. The design and drafting of such systems has been an integral part of every software development project for many years. Many metaphors and strategies coexist for structuring large software systems, combining the components and enabling interaction between them.
The aim of this R&D project is to develop an innovative system based on immersive analytics and artificial intelligence to enables a detailed analysis of software systems. The focus is particularly on dynamic aspects, such as the runtime behavior of software. Although there are numerous tools available on the market that enable a static analysis of code quality, there is a lack of methods for dynamic analysis beyond the determination of software performance. In particular, there is no consideration of the open source components used and the associated licenses to assess compliance. However, such an analysis would make it possible to evaluate existing software systems in real time, identify neuralgic points earlier and assess legal risks. For this purpose, analysis and visualization tools are to be created that provide non-experts with insight to software architecture, runtime behavior and licenses of the components. The project outcome not only offers visualizations in desktop systems but also in interactive environments (e.g. display walls or head-mounted displays). The project will also evaluate how artificial intelligence (AI) or rule based systems can improve the analysis of dynamic processes and couplings. This will result in a system that automatically creates software reviews, visualizes the findings and thus facilitates optimization decisions.