Software ist aus unserem Alltag nicht mehr wegzudenken. Sie steckt in Smartphones, Autos, aber auch zum Beispiel im guten alten Fahrkartenautomaten. Um die Schnelligkeit und Sicherheit solcher technischen Systeme zu gewährleisten, muss die entsprechende Software bereits während ihrer Entwicklung systematisch analysiert und kontrolliert werden. Zur Vorhersage und Kontrolle solcher Qualitätseigenschaften forschen Professor Matthias Tichy, Leiter des Ulmer Instituts für Programmiermethodik und Compilerbau, und Professor Lars Grunske (HU Berlin). Nun wurde bekannt, dass die Deutsche Forschungsgemeinschaft (DFG) ihr Projekt ENSURE auch in der zweiten Förderphase über drei Jahre mit insgesamt knapp 600 000 Euro unterstützt.
Bisher ist die Qualitätsanalyse von Software während der Entwicklung oft unzureichend. Das Problem: Wie sich ein System und seine Umwelt verhalten, ist noch nicht ausreichend bekannt, was zu gefährlichen Fehlern führen kann. Ein Anwendungsbeispiel des Projekts ENSURE (ENsurance of Software evolUtion by Run-time cErtification) kommt aus der Fahrzeugentwicklung, denn in modernen Autos sind über 100 vernetzte Steuergeräte und eine Vielzahl von Sensoren verbaut: „Ein Ausfall jedes einzelnen dieser Systeme kann vor allem in den Bereichen Fahrerassistenzsysteme oder Sicherheit zu Gefahrensituationen und schließlich Unfällen führen. Deshalb wird hier genauestens analysiert und geprüft, ob und wie Fehler einzelner Komponenten und Kombinationen von Fehlern Unfälle verursachen können“, erläutert Tichy.
Bei solchen Prüfungen ist die stark arbeitsteilige Entwicklung von Fahrzeugen hinderlich: Änderungen am technischen System – ein Beispiel ist der Einbau weiterer Sensoren – und Sicherheitsanalysen werden meist in unterschiedlichen Abteilungen durchgeführt, die nicht selten mit verschiedener Software arbeiten. Der spätere, oft manuelle Abgleich ist eine nicht zu unterschätzende Fehlerquelle. Im Projekt ENSURE arbeiten Forscher um Tichy und Grunske an der Lösung: Sie wollen diese Abgleichprozesse teilautomatisieren, so dass neue mögliche Fehler nach einer technischen Änderung sofort in so genannte Fehlerbäume eingepflegt werden. Diese Fehlerbäume sind dann eine wesentliche Grundlage der Sicherheitsanalyse.
Leistung von Webanwendungen auf dem Prüfstand
Ein weiteres Anwendungsbeispiel aus dem Projekt ENSURE ist die Analyse der Leistungsfähigkeit verteilter Webanwendungen. Wie reagiert das System auf sich ändernde und vor allem steigende Nutzerzahlen? Und inwiefern ändert sich die „Performance“, wenn man eine neue Funktionalität hinzufügt? Sind mögliche Fragestellungen eines Qualitätschecks. Die Softwaretechniker untersuchen etwa konkret, ob die Antwortzeit des Systems bei einer unterschiedlichen Anzahl gleichzeitiger Benutzer (maximal 500) unter 0,5 Sekunden bleibt, wenn eine bestimmte zusätzliche Funktionalität eingebaut wird.
ENSURE wird im Zuge des Schwerpunktprogramms 1593 „Design for Future – Managed Software Evolution“ als eines von 13 Forschungsprojekten von der DFG gefördert. In der ersten Phase haben die Wissenschaftler Tichy und Grunske grundlegende Konzepte entwickelt und Softwareprototypen erstellt, die eine kontinuierliche Qualitätskontrolle ermöglichen – selbst wenn sich das System verändert. In der jetzt angelaufenen zweiten Förderphase soll die Analysegeschwindigkeit gesteigert werden: Zum einen setzen die Forscher auf maschinelle Lernverfahren, um Entwickler in nicht-automatisierbaren Situationen auf technische Änderungen hinzuweisen, damit sie die nötigen Schritte veranlassen. Zum zweiten sollen bei kleineren Änderungen nur noch die betroffenen Komponenten analysiert werden. Die Kontrolle kann also deutlich schneller durchgeführt werden. Ob sich ihre Forschungsergebnisse in die Praxis übertragen lassen, wollen die Informatiker weiterhin in Zusammenarbeit mit zwei großen europäischen Industriepartnern überprüfen.
„Eine herausragende Qualität von Produkten ist vor allem in einem Hochlohnland wie Deutschland wichtig, um sich im internationalen Wettbewerb zu behaupten. Das Projekt ENSURE ermöglicht, systematisch die Qualität der Software zu sichern und somit diesen Wettbewerbsvorteil zu erhalten“, stimmen die Professoren Tichy und Grunske überein.
Text und Medienkontakt: Annika Bingmann