Home

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.

> Annual Report

Staff

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

> Details

Projects

AnaCoRe - Analyse von Code-Repositories AutoCompTest - Automatisiertes Testen von Übersetzern ICPC - International Collegiate Programming Contest an der FAU ORKA-HPC - OpenMP für rekonfigurierbare heterogene Architekturen SoftWater - Software-Wasserzeichen V&ViP - Verifikation und Validierung in der industriellen Praxis

> Details  > Publications

Teaching summer term 2023

Algorithmen und Datenstrukturen (AuD) Optimierungen in Übersetzern (UE2) Analyse und Design objektorientierter Softwaresysteme mit der Unified Modeling Language (UML) (OOAD) Testen von Softwaresystemen (TSWS) "Hallo Welt!" für Fortgeschrittene

Teaching winter term 2023/24

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

> Portfolio