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.

Eckpunkte unserer Forschungsthemen:
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.








