HOME | ENGLISH | IMPRESSUM | KIT

Masterarbeit (offen): Information-Flow-Control für X10

Informationsfluss bezeichnet den Informationstransfer von Eingabe- zu Ausgabedaten eines gegebenen Programmes. Verfahren zur Information-Flow-Control (IFC) untersuchen den Informationsfluss in einem Programm und prüfen, ob bestimmte, als geheim klassifizierte Daten über bestimmte, als öffentlich klassifizierte Kanäle fließen können.

Das am Lehrstuhl entwickelte Werkzeug JOANA implementiert statische IFC-Analysen für volles Java. JOANA konstruiert hierzu einen sogenannten Programmabhängigkeitsgraphen (Program Dependence Graph, PDG), dessen Pfade die möglichen Informationsflüsse innerhalb des gegebenen Programms repräsentieren. JOANAs Analysen bauen auf der WALA-Bibliothek von IBM auf, die viele grundlegende Analyseverfahren zur Verfügung stellt, wie z.B. Points-To-Analysen und ein Datenflussanalyseframework.

Der X10-Compiler, der im InvasIC-Projekt verwendet wird, besitzt bereits einen einfachen WALA-Anschluss. Damit wird es möglich, ein X10-Programm in die WALA-Darstellung umzuwandeln und anschließend den PDG-Aufbau sowie die IFC-Analysen von JOANA anzuwenden.

Ziel der Arbeit ist es, IFC-Analyse für X10-Programme zu evaluieren. Zunächst sollen hierbei nicht-verteilte X10-Programme betrachtet werden. Hier soll untersucht werden, welche Genauigkeitsverbesserungen bei Analysen durch neuartige X10-Sprachkonstrukte, wie etwa strukturiertem Parallelismus mittels finish/async, möglich sind. In Fall von finish/async könnte die MHP-Analyse (May Happen in Parallel) profitieren. Weiterhin sollen die Auswirkungen der genaueren Analysen auf die PDG-Präzision auf das IFC-Analyseergebnis evaluiert werden. Später kann eine Erweiterung auf verteilte X10-Programme vorgenommen werden.

Aufgabe:

  • Sie arbeiten sich in den bestehenden WALA-Anschluss des X10-Compilers ein und nehmen ggf. Verbesserungen vor.
  • Sie testen die (ggf. von Ihnen verbesserte) WALA-Anbindung, indem Sie verschiedene Programmanalysen für X10 in WALA implementieren und evaluieren
  • Sie bauen mit Hilfe von JOANA Programmabhängigkeitsgraphen für X10-Programme auf und untersuchen, wie man die PDG-Konstruktion durch Ausnutzung von X10-Konstrukten verbessern könnte.

Voraussetzungen

  • Programmierkenntnisse in Java
  • Keine Angst vor großen Softwareprojekten
  • Kenntnisse in Programmanalyse vorteilhaft


Betreuer

Wissenschaftliche Mitarbeiter
Martin Mohr
Manuel Mohr