Modellbasiertes Testen komplexer Softwaresysteme

 

Für komplexe Softwaresysteme mit hohen Zuverlässigkeitsanforderungen werden im Rahmen dieses Vorhabens unterschiedliche Konzepte für das modellbasierte Testen untersucht mit den Zielen, neue relevante Verhaltensaspekte bzw. Kontexte zu identifizieren, die zur Realisierung weiterer Forschungsvorhaben Anlass geben, sowie Effizienz und Konsistenz im Erkenntnisaustausch zwischen bestehenden und künftigen Einzelvorhaben zu diesem Thema zu gewährleisten.

Kontrollfluss und Datenfluss auf Code-Ebene. Im Rahmen des Vorhabens "Automatische Testfallerzeugung für objekt-orientierte Softwaresysteme mittels evolutionärer Verfahren" wurde zunächst die automatische Testfallerzeugung auf Code-Ebene für klassische Kontrollfluss- und Datenflussüberdeckungskriterien erfolgreich umgesetzt.

Darauf aufbauend wurde anschließend untersucht, inwieweit sich die hierbei gewonnenen Erkenntnisse auf höhere Abstraktionsstufen übertragen lassen. Dabei wurden die anfänglichen Überlegungen um weitere Gesichtspunkte ergänzt bzw. auf neue Abstraktionsebenen übertragen, was schließlich zu folgenden neuen eigenständigen Vorhaben führte.

Kommunizierende Zustandsmaschinen auf Komponentenebene. So entstand u.a. das vom Bayerischen Wirtschaftsministerium geförderte Projekt UnITeD ("Automatische Testdatengenerierung zur Unterstützung inkrementeller modell- und codebasierter Testprozesse für hochzuverlässige Softwaresysteme"), das sich mit der automatischen Realisierung modellbasierter Teststrategien zur kontrollflussbasierten Überdeckung von Komponentenmodellen bzw. Interaktionsmodellen befasste.

Modellierung des Nutzungsprofils. Die Modellierung des Betriebsprofils als Basis der automatischen Testfallerzeugung bildete andererseits die Grundlage für eine mit der Industrie durchgeführte Machbarkeitsstudie zur Anwendung statistischer Testverfahren bei Getriebesteuerungen mittels Auswertung und Analyse von Anwendungsdaten sowie für die preisgekrönte Promotionsarbeit "Softwarezuverlässigkeitsbewertung unter Berücksichtigung der mit vorgefertigten Komponenten gewonnenen Betriebserfahrung".

Nutzungs- und Interaktionsmodellierung. Die Kombination struktureller und operationaler Modellelemente war anschließend das Ziel einer weiteren industriellen Kooperation zum Thema "Entwicklung von Verfahren zur Bewertung der Softwarezuverlässigkeit mittels herstelleradäquater Architekturmodellierung", die beim Testen die Überdeckung der Komponenteninteraktionen und die Bewertung ihrer Zuverlässigkeit gleichzeitig verfolgte und erzielte.

Modellierung der Kooperation autonomer Systeme. Die Erfassung nebenläufigen Verhaltens bei der Verifikation kooperierender autonomer Entitäten, typischerweise mobiler Roboter, war Gegenstand des europäischen Vorhabens R3-COP (Resilient Reasoning Robotic Co-operating Systems). Hier wurden gefärbte Petri-Netze als geeignete Modellierungssprache identifiziert und mittels automatisch generierter Testfälle auf unterschiedlichen Ebenen erfolgreich überdeckt.

Modellierung der Rekonfigurierbarkeit und der kontextuellen Variabilität kooperierender autonomer Systeme. Im europäischen Nachfolgeprojekt R5-COP werden derzeit die in R3-COP entwickelten Ansätze derart erweitert, dass sie durch Erfassung von Rekonfigurationsstrategien und Umgebungsvariabilität durch Generierung betrieblich repräsentativer Szenarien zu einer fundierten Bewertung der Systemzuverlässigkeit beitragen können.

Modellbasierter Nachweis der Gültigkeit relevanter Eigenschaften. Die Untersuchung der Gültigkeit anwendungsrelevanter Eigenschaften, auf deren Basis Heuristiken zur verifikativen Programmanalyse hergeleitet werden sollen, wird weiterhin im Vorhaben "Modellbasierte Verifikation relevanter Eigenschaften komplexer Softwaresysteme" untersucht mit dem Ziel, zur formalen Verifikation bzw. zum Testen spezieller temporallogischer Eigenschaften geeignete Überdeckungskriterien zu ermitteln und deren Erfüllung automatisch zu unterstützen. Weitere modellbasierte Testkonzepte. Weitere Anwendungen, die in den vergangenen Jahren in Kooperation mit der Industrie und im Rahmen studentischer Abschlussarbeiten untersucht wurden, betrafen transaktionsorientierte Systeme sowie mit Funktionsbausteinen realisierte leittechnische Systeme.

Modellbasierte Überprüfung der IT-Sicherheit. In diesem Projektabschnitt wurde die Einsetzbarkeit modellbasierter Testverfahren zur Überprüfung der IT-Sicherheit vernetzter leittechnischer Systeme weiter untersucht. Dabei wurde die Zielsetzung verfolgt, die Chancen für die frühe Offenbarung eventueller im Code verbliebener Schwachstellen mittels intelligenter Teststrategien zu maximieren, um dadurch potentielle Angriffsszenarien vor Inbetriebnahme zu antizipieren und deren Ursachen anschließend zu beheben. Diese Arbeit führte schließlich zur erfolgreichen Beantragung des vom BMWi bewilligten Verbundprojekts SMARTEST, das zwischenzeitlich in Kooperation mit einem industriellen und zwei akademischen Partnern gestartet hat.