Motivation
Softwarequalität ist ein maßgeblicher Erfolgsfaktor für die meisten softwarebasierten Systeme. Gleichzeitig führen Zeit- und Kostendruck zu immer kürzeren Entwicklungszyklen, wodurch häufig Qualitätsdefizite entstehen, die Folgekosten verursachen und Produktivität sowie Innovationsfähigkeit beeinträchtigen. Um Qualitätsdefizite möglichst frühzeitig im Entwicklungsprozess zu erkennen und mit passenden Maßnahmen darauf zu reagieren, werden verschiedene Qualitätsmodelle eingesetzt. Eine grundlegende Herausforderung aktueller Qualitätsmodelle besteht darin, dass sie in der Regel auf vordefinierten, statischen Metriken struktureller Eigenschaften von Software beruhen und meist nur eine Teilmenge willkürlich ausgewählter Metriken nutzen.
Ziele und Vorgehen
DeepQuali hat das Ziel, ein KI-basiertes Werkzeug zu entwickeln, das die Softwarequalität modelliert und bewertet. Es soll direkt auf sogenannten Softwareartefakten arbeiten, also beispielsweise dem Quellcode und seiner Änderungshistorie, der Dokumentation, Problem- und Commit-Meldungen, Testergebnissen sowie weiteren verfügbaren Daten. Im Vergleich zu bestehenden Ansätzen soll damit die Softwarequalität deutlich präziser und kontextbezogen beurteilt werden können. DeepQuali nutzt die explorative, direkte Analyse von Daten aus Softwareprojekten sowohl aus externen als auch lokalen Repositories, in denen reichhaltige Informationen zur Qualität während der Entwicklung und des Betriebs zu finden sind.
Innovationen und Perspektiven
Die im Projekt entwickelten Lösungen können von Unternehmen in ihre Softwareentwicklungswerkzeuge oder ihre Qualitätsmanagementsoftware integriert werden und so die Produktqualität sowie die Prozesseffizienz im Entwicklungsprozess verbessern. Dies erhöht die Chance, vereinbarte Produktfeatures qualitätsgerecht in der vorgegebenen Zeit zu realisieren und damit mittelbar die Wettbewerbsfähigkeit, insbesondere der KMU-getriebenen Softwarebranche, zu sichern und zu verbessern.