Lehrstuhl für Informatik 2
Programmiersysteme

Wir liefern ingenieurwissenschaftliche Antworten für Software-Ingenieure, die parallele Software im industriellen Rahmen für Multicore-Rechner, für daraus bestehende verteilte Systeme, sowie für vernetzte eingebettete Systeme entwickeln. Wir arbeiten Programm-Code-basiert, erstellen lauffähige Prototypen und evaluieren diese quantitativ und qualitativ.

Wir arbeiten an Programmiermodellen für heterogene Parallelität und erzeugen dafür portablen und effizienten Code für Multicores, GPUs, Acceleratoren, Mobile Geräte, FPGAs u.ä.

Wir unterstützen die Parallelisierung von Software für Multicore-Rechner. Unsere Werkzeuge analysieren Code-Repositories und helfen den System-Entwickelnden bei der Migration und Refaktorisierung.

Wir analysieren Programme. Unsere Code-Analysewerkzeuge sind schnell, interaktiv, inkrementell und arbeiten teilweise selbst parallel. Sie finden Wettlaufsituationen, konkurrierende Ressourcenzugriffe etc. im Code und zeigen den Software-Entwickelnden Verbesserungsvorschläge punktgenau und in der Entwicklungsumgebung an.

Wir testen parallelen Code und diagnostizieren Problemursachen. Unsere Werkzeuge erzeugen Testdaten, finden Ursachen von erratischem Laufzeitverhalten und schützen gegen Authentizitätsangriffe.

Team

Forschung

AutoCompTest: Automatisiertes Testen von Übersetzern    ORKA: OpenMP für rekonfigurierbare heterogene Architekturen    SoftWater: Software-Wasserzeichen    V&ViP: Verifikation und Validierung in der industriellen Praxis

Lehre