Projekt
scryer
Auf KI basierndes System zur Vereinfachung und Effizienzsteigerung der Softwareentwicklung.
Softwareentwicklung, Data Science
Leistung
Kurz erklärt
Mit scryer haben wir ein mittlerweile patentiertes System entwickelt, das auf KI basiert und in der Softwareentwicklung eingesetzt wird. Es identifiziert relevante Softwaretests und sagt deren Ergebnis mit einer Genauigkeit von über 70% vorher. scryer extrahiert bisher verborgene Zusammenhänge aus bestehenden Daten und legt diese offen.
Anders gesagt: Die scryer Test Prediction ermittelt für eine Softwareänderung relevante (z. B. wahrscheinlich fehlschlagende) Tests sowie einen Konfidenzwert für die Vorhersage. Das Modell für die Vorhersagen basiert auf historischen Source-Control- und Testdaten und wird automatisch durch Machine-Learning-Algorithmen erstellt. Durch die gewonnenen Erkenntnisse werden signifikant Rechen- und Entwickler-Ressourcen eingespart.
Funktionen und Nutzen:
Projektbeschreibung
Das Pilotprojekt: Scryer in der Praxis
Im Pilotprojekt kommt scryer bei einem namhaften Unternehmen aus der Medizintechnik zum Einsatz. Dort unterstützt das Tool die Softwareentwicklung, indem es die Arbeit der Entwickler vereinfacht und beschleunigt. Das Projekt bzw. der Anwendungsbereich zeichnet sich vor allem durch seine komplexen Abhängigkeiten zwischen den Software-Komponenten aus. scryer lernte diese Komplexität verstehen und kann auf dieser Basis entsprechend Softwaretests und deren Ausgang vorhersagen.
40.000+
Mitarbeiter
Medizintechnik
Branche
Testvorhersage in IDE
Einsatz-Szenario
C / C#, Microsoft TFS
Technologien
Das Training
scryer wurde für das Pilotprojekt auf der Basis von Tests, Testausführungen und Commits trainiert. Durch relevante Testevents lernte scryer deren Komplexität und Korrelationen verstehen.
Die Anwendungsfälle
Die Vorhersage von scryer kann auf verschiedene Arten in den Workflow bei der Softwareentwicklung integriert werden, z. B.:
Beispiel: Optimierte Reihenfolge und Auswahl von Tests
Die neue Reihenfolge führt zu schnellerem Feedback für Entwickler, wenn Tests wirklich fehlschlagen. Das Weglassen von weniger relevanten Tests spart zudem (Rechen-)Ressourcen bei nur minimal erhöhtem Risiko.
Ursprüngliche Reihenfolge bei der Testausführung
Optimierte Reihenfolge bei der Testausführung
Das Ergebnis
Durch die präzisen Vorhersagen scryers konnten messbar Kapazitäten eingespart und die Aufnahme neuen Codes in das System beschleunigt werden. Zudem wurden die Entwickler von monotonen Routinearbeiten entlastet.
Neben der primären Leistung Softwaretest vorherzusagen, lernte scryer zudem Defekte den entsprechenden Teams zuordnen. D. h. wenn ein Bug wegen eines (fehlgeschlagenen) Softwaretests angelegt wurde, erkannte scryer um welche Komponente im Source Code es sich handelte und folgerte daraus das zuständige Team.