Motivation
Eingebettete Systeme sind kleine Computer, die heute im Großteil technischer Systeme wie in Fahrzeugen, medizintechnischen Geräten, Hausgeräten usw. eingesetzt werden und diese steuern, regeln und überwachen. Dabei stellen Gesellschaft und zuständige Behörden besonders hohe Anforderungen an die Korrektheit, Sicherheit und Zuverlässigkeit eingebetteter Software. Gleichzeitig erwartet der Markt immer kürzere Entwicklungszyklen. Diese Anforderungen zu erfüllen, stellt eine große Herausforderung dar. Die heute weit verbreitete Antwort der Industrie auf diese Herausforderung ist der Prozess der kontinuierlichen Integration (englisch: Continuous Integration, abgekürzt CI). Im Rahmen eines CI-Prozesses wird täglich automatisiert der aktuelle Stand der entwickelten Software bereitgestellt und ebenfalls automatisiert ihre Qualität getestet. Aufgrund zunehmender Funktionalitäten eingebetteter Software treten bei dieser Vorgehensweise aber auch neue Probleme auf: Zu jeder neuen, täglichen Softwareversion sind umfangreiche Tests durchzuführen und zu bewerten. Diese kontinuierliche, begleitende Testaufgabe ist sehr komplex, da zum einen die nächtlichen Ressourcen für ihre Durchführung zeitlich und hardwarebedingt begrenzt sind, zum anderen aber auch neu freigegebene Funktionalitäten abgesichert werden müssen. Welche Tests sind relevant? Wie sollten die Tests geplant werden, um möglichst viele Fehler aufzudecken? Diese Fragen zu beantworten, ist aufwendig und kostenintensiv.
Ziele und Vorgehen
Das Verbundvorhaben OTS4CI hat das Ziel, mit Hilfe von Methoden der Künstlichen Intelligenz (KI) ein System zu entwickeln, welches anhand der aus dem Entwicklungsprozess gesammelten Daten die ausführbaren Tests geeignet priorisiert. Eingesetzt werden vor allem verstärkende Lernverfahren, die auch auf frühere Fehlerkorrekturen und die Testhistorie zurückgreifen. Anhand weiterer Kenndaten wie Ausführungszeiten und Speicherverbrauch der Tests sowie der zur Verfügung stehenden Ressourcen der Testumgebung sollen die nächtlichen Tests dann algorithmisch effektiver geplant werden können. Auf diese Weise sollen möglichst viele der vorhandenen Fehler entdeckt werden. Die angestrebten Projektergebnisse werden in realitätsnahen Szenarien von Entwicklungsprojekten des Anwendungspartners Kostal Industrie Elektrik GmbH prototypisch eingesetzt und evaluiert.
Innovationen und Perspektiven
Nach Projektende soll das neue Testvorgehen im Entwicklungsprozess eingebetteter Software verschiedener Industriebranchen – unter anderem Automobil und Mobilität, Maschinenbau und Automatisierung, Gesundheit und Medizintechnik, Logistik, Energie und Umwelt – angewendet werden. In vielen Anwendungsbereichen eingebetteter Systeme haben deutsche Unternehmen international eine technologisch führende Rolle. Durch den Einsatz der im Vorhaben angestrebten Methoden und der entsprechenden Software-Werkzeuge im Testprozess werden sie in die Lage versetzt, die Qualität ihrer Produkte zu erhöhen und ihre Wettbewerbsposition zu stärken.