Chair of Computer Science 2

We develop scientific solutions for software engineers in industry who work on parallel software for multicores and for distributed or embedded systems made thereof. We take a code-centric approach, construct operational prototypes, and evaluate them both quantitatively and qualitatively. Corner stones of our field of research:

  • We work on programming models for heterogeneous parallelism, from which we then generate portable and efficient code for multicores, GPUs, accelerators, mobile devices, FPGAs, etc.
  • We help parallelize software for multicores. Our tools analyze code repositories and help developers in migrating and refactoring projects.
  • We analyze code. Our code analysis tools are fast, interactive, incremental and sometimes work in parallel themselves. They not only detect race conditions, conflicting accesses to resources, etc. The resulting suggestions on how to improve the code also show up in the IDE where they matter.
  • We test parallel code and diagnose the root causes of problems. Our tools generate test data, track down erratic runtime behavior, and prevent authenticity attacks.

Staff

Julian Brandner
Hans Jürgen Schneider
Bernd Hindel
Detlef Kips
Lukas Rotsching
David Schwarzbeck
Tobias Heineken
Michael Philippsen
Norbert Oster
Patrick Kreutzer
Daniela Novac
Florian Mayer
Alma Sinanović
Margit Zenk

Projects

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

Teaching summer term 2025

Optimierungen in Übersetzern (UE2)
Testen von Softwaresystemen (TSWS)
Analyse und Design objektorientierter Softwaresysteme mit der Unified Modeling Language (UML) (OOAD)

Teaching winter term 2025/26

Parallele und Funktionale Programmierung (PFP)
Grundlagen des Übersetzerbaus (UE1)
Ausgewählte Kapitel aus dem Übersetzerbau (UE3)
Machine Learning: Advances (ML-II)
Machine Learning: Introduction (ML-I)