Forschung

Unsere Forschung zielt auf die Entwicklung von Konzepten, Methoden und Werkzeugen für das ganzheitliche Engineering von zuverlässigen und sicheren softwareintensiven Systemen. Diese Softwaresysteme müssen robust und widerstandsfähig gegenüber geplanten und ungeplanten Änderungen im Rahmen der Konfiguration, Rekonfiguration oder Evolution sein. Die Systeme müssen zuverlässig und sicher dynamisch an neue Anwendungsszenarien und Umgebungen anpassbar sein und eine systematische Wiederverwendung unterstützen. In diesem Zusammenhang sind präzise, mathematisch fundierte Garantien für kritische funktionale und nicht-funktionale Systemeigenschaften, insbesondere für Verlässlichkeit und Sicherheit, unerlässlich. Anwendungsgebiete für diese Forschung liegen vor allem im Bereich der automobilen Software- und Systemtechnik und in der Automatisierungstechnik im Maschinen- und Anlagenbau.

Forschungsthemen

  • Security-by-Design und By-Construction Engineering:
    Software-intensive Systeme in sicherheits- und missionskritischen Bereichen stellen hohe Anforderungen an ihre Sicherheit (Safety und Security) und Zuverlässigkeit. Diese wesentlichen Systemeigenschaften müssen bereits im Entwicklungsprozess berücksichtigt werden, um sie im Betrieb gewährleisten zu können. Der Ansatz des by-construction engineering zielt darauf ab, Softwaresysteme ausgehend von einer (formalen) Spezifikation ihrer funktionalen und nicht-funktionalen Eigenschaften so zu entwickeln, dass sie diese Eigenschaften by construction erfüllen.
  • Software Diversity (Variability & Adaptability): Moderne Softwaresysteme sind in hohem Maße konfigurierbar, um sich an unterschiedliche Anforderungen und Umgebungsbedingungen anzupassen. Diese Konfigurierbarkeit zur Entwicklungszeit kann auch als Anpassungsfähigkeit zur Laufzeit genutzt werden, so dass sich Systeme selbstständig an neue Bedingungen anpassen können. Dies kann die Robustheit und Widerstandsfähigkeit von Softwaresystemen durch Diversität verbessern, was insbesondere für die Härtung von Systemen zur Abwehr von Angriffen genutzt werden kann.
  • Provable Security und Post-hoc Quality Assurance:
    Ergänzend zum By-Construction-Engineering zielen die Techniken der Post-hoc-Qualitätssicherung darauf ab, kritische funktionale und nicht-funktionale Eigenschaften von Systemen, einschließlich der Zuverlässigkeit und Sicherheit, zu testen und damit die Qualität dieser Systeme zu gewährleisten. Ein besonderer Schwerpunkt der Forschungsarbeit liegt auf effizienten und effektiven Testverfahren, die auf einer systematischen Testfallgenerierung, Testfallauswahl und Testfallpriorisierung basieren, insbesondere für variantenreiche und evolvierende Softwaresysteme. Dazu gehören auch Sicherungsverfahren für intelligente Systeme, bei denen Teile der Funktionalität durch trainierte KI-Komponenten realisiert werden. Ein aktuelles Forschungsprojekt befasst sich mit dem End-to-End-Test von intelligenten Fahrfunktionen im Kontext des automatisierten Fahrens, der auch gezielte Angriffe auf die KI-Komponenten erkennen soll. Ein weiterer Forschungsschwerpunkt ist der Einsatz formaler Methoden, insbesondere der deduktiven Verifikation, für die Qualitätssicherung von Softwaresystemen. In diesem Zusammenhang zielt unsere Forschung auf die Skalierung dieser Techniken durch Ausnutzung der Modularität und Verbesserung der Benutzerfreundlichkeit durch moderne KI-basierte Methoden.
  • Legacy Software Analysis:
    Moderne Softwaresysteme werden in der Regel nicht mehr von Grund auf neu entwickelt. Stattdessen werden Softwaresysteme kontinuierlich weiterentwickelt. Diese kontinuierliche Weiterentwicklung führt jedoch häufig zum Verlust der Dokumentation über die Softwaresysteme sowie zur Übertragung von Fehlern von einem Teil des Systems auf einen anderen durch Kopieren. Die Forschung im Bereich der Altsystemanalyse zielt darauf ab, bestehende Strukturen dieser Systeme zu analysieren (Re-Engineering) und damit Möglichkeiten zu schaffen, die Altsysteme zu restrukturieren oder gar zu migrieren. So können beispielsweise bestehende Funktionalitäten eines Altsystems in eine neuartige Sicherheitsarchitektur überführt werden. Die Extraktion von wiederverwendbaren Bausteinen aus Altsystemen ermöglicht eine systematische Wiederverwendung und Weiterentwicklung dieser Systeme mit dem Ziel des Sustainable Software Engineering.
Projekte
Titel Ansprechperson

Domenik Eichhorn, Alexander Kittelmann, Ina Schaefer

Lukas Birkemeyer, Ina Schaefer

Tabea Bordis, Maximilian Kodetzki, Rasmus Ronneberg, Ina Schaefer

Tim Bittner, Joshua Ammermann, Ina Schaefer

Tobias Pett, Ina Schaefer

Publikationen