The project DeepQuali aims to analyze software repositories in an automated manner using Artificial Intelligence (AI) in order to identify potential quality deficits – so-called technical debt – and explain their causes and their impact on software products. Data from software projects is being examined at various storage locations in order to collect information on quality during development and operation. The planned tool will use information from so-called software artifacts, i.e., various sources such as the source code, its change history, the documentation, problem reports, commit messages, test results, and other available data. Thanks to the direct analysis of the software artifacts, the newly developed solution will be able to assess software quality more accurately than existing metrics-based approaches, while also taking into account the respective context. In addition, the tool will be able to learn relevant quality relationships from similar projects from other contexts (e.g., open-source projects) and use this knowledge for quality assessment in the context of a specific organization. This feature is particularly advantageous for small and medium-sized software companies that do not have a sufficiently large project basis to train reliable Deep Learning models.
The solutions developed as part of the project can be integrated by companies into their software development tools or their quality management software. This will enable them to improve the quality of their products and increase the efficiency of their processes, which, in turn, will increase the chances of implementing agreed product functions in high quality and within the specified time constraints. This will safeguard and optimize the competitiveness of the software industry – especially of small and medium-sized enterprises (SMEs) – in the long term.
In the DeepQiali project, Fraunhofer IESE is specifically responsible for developing the AI model used to predict software quality. This tool uses neural networks, in particular Large Language models, to learn which functions are relevant in a piece of software. A current example of such a feature is the consideration of sustainability. In addition, the IESE team is responsible for developing the empirical evaluation concept for the project and for supporting the evaluation with the application partners.