Das Projekt DeepQuali zielt darauf ab, Software-Repositories mithilfe von Künstlicher Intelligenz (KI) automatisiert zu analysieren, um potenzielle Qualitätsdefizite – sogenannte technische Schulden – zu identifizieren und deren Ursachen und Einflüsse auf Softwareprodukte zu erklären. Es werden Daten aus Softwareprojekten an verschiedenen Speicherorten untersucht, um während der Entwicklung und des Betriebs Informationen zur Qualität zu sammeln. Das vorgesehene Werkzeug wird Informationen aus sogenannten Softwareartefakten, also verschiedenen Quellen wie dem Quellcode, seiner Änderungshistorie, der Dokumentation, Problemmeldungen, Commit-Nachrichten, Testergebnissen und weiteren verfügbaren Daten nutzen. Dank der direkten Analyse der Softwareartefakte wird die neu entwickelte Lösung in der Lage sein, die Softwarequalität im Vergleich zu bestehenden metrikbasierten Ansätzen präziser und unter Berücksichtigung des jeweiligen Kontexts zu beurteilen. Darüber hinaus wird das Werkzeug dazu imstande sein, relevante Qualitätsbeziehungen von ähnlichen Projekten aus anderen Kontexten (z.B. Open-Source-Projekte) zu lernen und dieses Wissen für die Qualitätsbewertung im Kontext einer spezifischen Organisation zu nutzen. Diese Eigenschaft ist insbesondere für kleine und mittlere Softwareunternehmen von Vorteil, die nicht über eine ausreichend große Projektbasis verfügen, um zuverlässige Deep-Learning-Modelle zu trainieren.
Die Lösungen, die im Rahmen des Projekts entwickelt werden, können von Unternehmen in ihre Softwareentwicklungswerkzeuge oder Qualitätsmanagementsoftware integriert werden. Dadurch können sie die Qualität ihrer Produkte verbessern und die Effizienz ihrer Prozesse steigern. Dies wiederum erhöht die Chancen, vereinbarte Produktfunktionen in hoher Qualität und innerhalb der festgelegten Zeitvorgaben umzusetzen. Dadurch wird die Wettbewerbsfähigkeit der Softwarebranche – insbesondere kleiner und mittlerer Unternehmen (KMU) – langfristig gesichert und optimiert.
Das Fraunhofer IESE ist im Projekt DeepQuali speziell dafür verantwortlich, das KI-Modell zu entwickeln, das zur Vorhersage der Softwarequalität verwendet wird. Dieses Tool lernt mithilfe von neuronalen Netzwerken, insbesondere Large-Language-Modellen, welche Funktionen bei einer Software relevant sind. Ein aktuelles Beispiel für ein solches Feature ist die Berücksichtigung der Nachhaltigkeit. Zusätzlich ist das IESE-Team dafür zuständig, das empirische Evaluierungskonzept des Projekts zu erarbeiten und die Evaluierung bei den Anwendungspartnern zu begleiten.