Direkt zum InhaltDirekt zur SucheDirekt zur Navigation
▼ Zielgruppen ▼

Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Software Engineering

EMPRESS

Extracting and Mining of Probabilistic Event Structures from Software Systems (2016-2019)

 

Das Forschungsfeld "specification mining" zielt darauf ab, Modelle aus exitierender Software zu extrahieren, bzw. zu rekonstruieren—Modelle, die genau genug sind, um als formale Spezifikation dienen zu können. Die meisten aktuellen Ansätze abstrahieren Software-Verhalten durch Modelle, die knapp alle zulässigen Ereignissequenzen, die während der Programmausführung auftreten könnten, repräsentieren. Was wir allerdings nicht wissen, ist wie wahrscheinlich solche Sequenzen sind. In EMPRESS versuchen wir probabilistische Modelle zu extrahieren, in welchen die Übergänge zwischen den einzelnen Ereignissen mit Wahrscheinlichkeiten charakterisiert werden (siehe z.B. Abbildung 1).

Abbildung 1: Probabilistisches Modell von Java-Methoden Aufrufe bei der Ausführung einer SQL Datenbankabfrage

Solche probabilistischen Modelle werden die Genauigkeit und Effektivität in mehreren Bereichen des Software Engineering verbessern: In der Laufzeitüberwachung und dem Debugging werden solche Modelle Anomalien während der Ausführung entdecken können, die fehlerhaftes Verhalten prognostizieren und diagnostizieren. Im Softwaretest erlauben es probabilistische Modelle sich auf Verhalten zu konzentrieren, in dem Fehler den größten Einfluss hätten, als auch auf unwahrscheinliches Verhalten, in dem bisher noch unentdeckte Fehler liegen können. Letztlich können probabilistische Modelle im Bereich Sicherheit und Zuverlässigkeit Abweichungen vom Normalverhalten erkennen und so fehlerhaftes oder gar bösartiges Verhalten aufdecken. Die Hauptprobleme dieses Forschungsgebietes werden (1) das effiziente Extrahieren akurater probabilistischer Modelle aus Software Systemen und (2) das Finden geeigneter Abstraktionsniveaus für die ausgewählten Aktivitäten im Software Engineering sein.

 

EMPRESS zielt darauf ab, die Genauigkeit und Effektivität verschiedener Software-Engineering Aktivitäten zu erhöhen:

  • In der Laufzeitüberwachung und im Debugging wollen wir Anomalien während der Ausführung aufdecken, die fehlerhaftes Verhalten vorhersagen und diagnostizieren.
  • Im Softwaretest betrachten wir Verhalten, das wahrscheinlich von Defekten am stärksten beeinflusst werden wird. Aber wir betrachten auch unwahrscheinliches Verhalten, um bisher unerkannte Fehler aufzudecken.
  • Im Bereich Sicherheit und Zuverlässigkeit von Software wollen wir Abweichungen vom Normalverhalten aufdecken und so fehlerhaftes oder gar bösartiges Verhalten erkennen.

 

Das Projekt ist in vier Arbeitspakete gegliedert, deren Abhängigkeiten in Abbildung 2 zusammengefasst sind.

Abbildung 2: Übersicht über das Projekt EMPRESS

 

 

Beteiligte Personen: