E-mail senden E-Mail Adresse kopieren

Erkennung und    VERHINDERN VON SOFTWARE-PROBLEMEN

ENTWICKLUNG VON SOFTWARE TESTS. ERKENNUNG VON SOFTWARE-ANOMALIEN. SICHERE SYSTEMARCHITEKTUREN. 

MOTIVATION

Die heutigen mobilen Geräte sind die persönlichsten Computer, die je geschaffen wurden - nicht nur, weil wir sie die meiste Zeit bei uns haben, sondern auch, weil wir ihnen viele persönliche Informationen anvertrauen. Es ist eine große Herausforderung, dafür zu sorgen, dass diese Geräte und ihre Software so funktionieren, wie sie beworben werden. Wir müssen neue Konzepte zum Testen, Analysieren und Sichern von Softwaresystemen entwickeln, und wir müssen Lösungen entwickeln, die diese Konzepte in der Praxis ermöglichen.

 

AKTUELLE FORSCHUNGSRICHTUNGEN

Entwicklung von Software-Tests. Wir verwenden Techniken des maschinellen Lernens und der Sprachinduktion, um automatisch Eingabesprachen für gegebene Programme zu lernen. Aus diesen Eingabesprachen können wir effizient eine große Anzahl von Softwaretests generieren, die wir in Richtung kritischer Funktionalität oder ungetesteten Verhaltens lenken können. Unsere Testtechniken haben Tausende von Fehlern in kritischer Software wie Webbrowsern aufgedeckt, sind bei Unternehmen wie Google und Microsoft im täglichen Einsatz und werden in unseren Online-Kursen zur Testgenerierung Studierenden auf der ganzen Welt gelehrt.

Software-Anomalie-Erkennung. Festzustellen, ob das Verhalten von Software wünschenswert ist oder nicht, ist eine große Herausforderung, insbesondere in Ermangelung präziser Spezifikationen. Wir verwenden natürlichsprachliche Lerntechniken, um das Verhalten von Software mit Funktionalitätsbeschreibungen (aus Benutzeroberflächen oder Softwarebeschreibungen) zu assoziieren und so Anomalien zu erkennen: "Diese App behauptet, eine Reise-App zu sein, aber in Wirklichkeit sendet sie sensible Informationen über versteckte Nachrichten". Einmal gewonnen, können solche Assoziationen auch zur Verbesserung und Anleitung von Tests sowie zur Bewertung von Testergebnissen verwendet werden, wie oben diskutiert.

Sichere Systemarchitekturen. Software muss Laufzeitbeschränkungen unterworfen werden, um unerwünschtes, fehlerhaftes oder bösartiges Verhalten einzudämmen. Zu diesem Zweck untersuchen wir, wie der Entwurf aktueller und zukünftiger Systemsicherheitsarchitekturen eine robuste Durchsetzung von Sicherheitsrichtlinien und Datenschutz durch neue Zugangskontrolllösungen, Informationsflusskontrollen und die Nutzung von Hardware-Sicherheitsfunktionen gewährleisten kann. Unsere Techniken zielen speziell auf mobile Systeme und kritische Infrastrukturen ab.

LEAD FACULTY