Teaching Activities of Daniel Lohmann
I give lectures, labs, and seminars around the topic of system software and its development. The following lists all lectures I have hold at LUH since summer term 2017. Look here for a my list of teaching activities before that time.
Sommer 2019
- Betriebssystembau und Betriebsystembau für Mehrkernsysteme
- Projekt SRA
- Proseminar Parallelverarbeitung
- Oberseminar SRA
Winter 2018
- Grundlagen der Betriebssysteme
- Labor: Betriebssystemtechnik
- Seminar: Coprozessoren (AKSI)
- Oberseminar SRA
Sommer 2018
- Betriebssystembau und Betriebsystembau für Mehrkernsysteme
- Projekt SRA
- Proseminar Parallelverarbeitung
- Oberseminar SRA
Winter 2017
Summer 2017
Theses
Open Theses
Fixed-Point Analysis for ARA: Best Value for Pointers
Status: offen
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Extent ARA's value analysis to pointers, conditions and loops.
Slothful Bird: Extend the ARA System Generator by a Sloth Backend for FreeRTOS and OSEK

Status: offen
Supervisors: Björn Fiedler, Daniel Lohmann
Project: AHA
Extend the ARA Generator with a backend using the interrupt controller as scheduler and dispatcher.
System Calls as Prepared Statements: Extend ARA to Precompute Interaction System Calls
Status: offen
Supervisors: Björn Fiedler, Daniel Lohmann
Project: AHA
Extend the ARA to precompute interaction system calls like queue.send(data).
Running Theses
ARA on Steroids: Fly faster with Profiling and Caching.
Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Make ARA fast. How fast? Really fast with profiling and performance tuning.
Static analysis and interpretation of POSIX applications

Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Extend ARA - a (real-time) operating system analyzer - for analysis of POSIX, which enables the analysis of Linux applications.
Design und Implementierung eines Zephyr-RTOS-Modells für ARA zur statischen Whole-System-Analyse

Status: laufend
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Bearbeiter: Kenny Albes
Extend ARA - a (real-time) operating system (RTOS) analyzer - for analysis of Zephyr, an RTOS guided by the Linux Foundation
Compile-Time Malloc: Why bother at run time when the compiler can do it.
Status: reserviert
Supervisors: Björn Fiedler, Gerion Entrup, Daniel Lohmann
Project: AHA
Move all statically analyzable allocations into compile-time.
Design and Implementation of Benchmarks for Systematic Fault Injection

Status: laufend
Supervisors: Oskar Pusz, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Jannis Bujak
Awesome benchmarks for awesome fault injection methods.

Status: laufend
Supervisors: Stefan Naumann, Daniel Lohmann
Project: CADOS
Bearbeiter: Niklas Hoh
Eine leichtgewichtige User Space Bibliothek soll entworfen und implementiert werden um effizient mit einem persistent-addressierten nicht-flüchtigen Speicherbereich arbeiten zu können.
MultiSSE: Full Static Emulation of a Multicore System at the example of AUTOSAR RTOS
Status: laufend
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Bearbeiter: Fredo Nowak
Extend the System-State Enumeration, an real-time systems analysis technique, to support multiple cores and show the working with an implementation in ARA.

Status: laufend
Supervisors: Christian Dietrich, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Yannick Loeck
In this thesis, the SAIL compiler should be extended to allow the C-emulator to record all dynamic register reads and writes to these state registers. This information should then be integrated into the FAIL* toolchain to inject only those state registers that are actually used by a given executed instruction.

Status: laufend
Supervisors: Stefan Naumann, Daniel Lohmann
Project: CADOS
Bearbeiter: Simon Burandt
Seitenfehler beim Start von Programmen sollen durch einen Seitenzwischenspeicher im NVRAM vermieden werden. Dazu soll der Linux Kern entsprechend erweitert werden, die Zugriffe zu speichern und bei späteren Programmstarts ohne Pagefault einzublenden.
Erweiterung des Python-Programmiermodells um NVRAM-persistierte Sprachobjekte

Status: laufend
Supervisors: Stefan Naumann, Daniel Lohmann
Project: CADOS
Bearbeiter: Gabriel Behn
Entwurf eines Persistenz-Moduls für Python auf Basis von NVM
Finished Theses

Status: abgeschlossen
Supervisors: Gerion Entrup, Christian Dietrich, Daniel Lohmann
Project: AHA
Bearbeiter: Malte Bargholz (abgegeben: 09. Aug 2018)
[PDF]
Integration of a Priority-Obedient Interrupt Controller into the Rocket Softcore

Status: abgeschlossen
Supervisors: Gerion Entrup, Christian Dietrich, Daniel Lohmann
Project: AHA
Bearbeiter: Matthias Wolf (abgegeben: 01. Nov 2018)
Automatische Generierung statistisch spezialisierter FreeRTOS-Kerne mit LLVM

Status: abgeschlossen
Supervisors: Björn Fiedler, Daniel Lohmann
Project: AHA
Bearbeiter: Jonas Hollmann
A compile-time generator for static FreeRTOS system objects

Status: abgeschlossen
Supervisors: Björn Fiedler, Daniel Lohmann
Project: AHA
A compile-time generator for static FreeRTOS system objects
Effizientes Laden dünn besetzter Datenstrukturen auf eingebetteten Systemen

Status: abgeschlossen
Supervisors: Björn Fiedler, Daniel Lohmann
Project: AHA
Bearbeiter: Jannis Thöle
Introduction of Sparse Data Segments for Embedded Systems
Status: abgeschlossen
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Bearbeiter: Manuel Breiden (abgegeben: 19. Apr 2020)
Extend ARA - a tool for static (real-time) operating system analysis - to use as much already implemented LLVM analyses as possible

Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann
Bearbeiter: Manuel Krüger (abgegeben: 13. Feb 2019)
Welche Gefahren und Möglichkeiten ergeben sich durch Angriffsroutinen aus dem Desktopbereich für den Einsatz von Automotive Grade Linux (AGL) in automobilen Anwendungen
Investigating Microarchitectural Effects on Code Optimization for Specific Processor Models
Status: abgeschlossen
Supervisors: Stefan Naumann, Daniel Lohmann
Project: AHA
Bearbeiter: Vitali Fendel
Research the effects of compiler optimization flags on different processor architectures and their impact on the code being executed.
Formalizing the Execution Semantics of the AVR Instruction Set with the Description Language SAIL

Status: abgeschlossen
Supervisors: Christian Dietrich, Oskar Pusz, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Luca Nedaskovskij (abgegeben: 16. Oct 2020)
Implementing the AVR-processor instruction-set architecture in SAIL for generating emulators automatically.
Measuring Effects of Compiler Flags on Different Processor Architectures
Status: abgeschlossen
Supervisors: Gerion Entrup, Florian Rommel, Daniel Lohmann
Project: AHA
Bearbeiter: Carlo Schmitt (abgegeben: 21. Mar 2019)
Run-Time Binary Patching for Systems with Dynamically Loadable Modules
Status: abgeschlossen
Supervisors: Florian Rommel, Daniel Lohmann
Project: CADOS
Bearbeiter: Dominik Töllner (abgegeben: 01. Sep 2019)
Explore the possibilities of using multiverse on systems with loadable modules by extending its semantics and implementation.
Design and Implementation of a Graphical Simulator for a Pipelined Processor Architecture
Status: abgeschlossen
Supervisors: Florian Rommel, Jürgen Brehm
Bearbeiter: Kwok-Fung Choi
Implement and evaluate a CPU simulator for a pipelined MIPS-like architecture with a graphical presentation on the block-diagram level
bAUTOSAR: A Javascript Real-Time Abstraction for Improved Website Responsiveness

Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann
Bearbeiter: Robin Thrift (abgegeben: 15. Mar 2019)
An OSEK-like real-time abstraction for prioritized execution of Javascript programs.

Status: abgeschlossen
Supervisors: Tobias Landsberg, Daniel Lohmann
Project: cHash
Bearbeiter: Malte Müller (abgegeben: 08. Aug 2020)
Implementation of a Filesystem in Userspace to add cHash support to Make
Fault-Space Approximation using Basic-Block Fault Injection

Status: abgeschlossen
Supervisors: Oskar Pusz, Christian Dietrich, Daniel Lohmann
Bearbeiter: Daniel Kiechle (abgegeben: 15. Oct 2018)
[PDF]
Fault-Space Approximation using Call-Region Fault Injection

Status: abgeschlossen
Supervisors: Oskar Pusz, Daniel Lohmann
Bearbeiter: anonymous (abgegeben: 01. Nov 2018)
Data-Flow Analysis for Fault-Equivalence Set Forming on the ISA Layer

Status: abgeschlossen
Supervisors: Oskar Pusz, Christian Dietrich, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Zena Obeidi (abgegeben: 01. Mar 2019)
Automatic Real-Time System Analysis
Status: abgeschlossen
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Bearbeiter: Benedikt Steinmeier (abgegeben: 06. Mar 2019)

Status: abgeschlossen
Supervisors: Stefan Naumann, Daniel Lohmann
Project: CADOS
Bearbeiter: Lars Wrenger
Extend Micropython so, that it can decide whether or not the code was put in place by the developer, not a hacker. Also the integrity of the code needs to be proven during execution.
Status: abgeschlossen
Supervisors: Florian Rommel, Daniel Lohmann
Project: CADOS
Bearbeiter: Sergej Perschin
Modifying the Linux kernel to allow using virtual address space clones to implement non-disruptive checkpoints and coredumps.
Transient-Fault Resilience of a Capability-enabled Processor Plattform

Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Malte Bargholz (abgegeben: 01. Nov 2020)
Integration of SAIL-based MIPS and CHERI emulators into the FAIL* fault-injection tool and quantitative fault-resilience comparision. [PDF]
Acceleration of Fault-Injection Campaigns through Early Timeout Detection

Status: abgeschlossen
Supervisors: Oskar Pusz, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Felix Siegel (abgegeben: 22. May 2020)
Developing methods to avoid unnecessary fault-injection campaign run time

Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Marcel Budoj (abgegeben: 08. May 2019)
Use SAIL language to integrate an ISA implementations into a fault injection framework. Different CPU architectures shall be evaluated for reliability. [PDF]
Accelerate Micropython: Developing Accelerators for Micropython on the RISC-V platform

Status: abgeschlossen
Supervisors: Stefan Naumann, Daniel Lohmann
Project: AHA
Benchmark Micropython, identify spots to accelerate and propose hardware accelerators for the Micropython interpreter.
Extending the Linux Kernel for Wait-Free Live Patching of Multi-Threaded Processes
Status: abgeschlossen
Supervisors: Florian Rommel, Christian Dietrich, Daniel Lohmann
Project: CADOS
Bearbeiter: Lennart Glauer (abgegeben: 20. Nov 2019)
Using virtual address space clones to avoid blocking on a global barrier in live patching situations and implement this mechanism in the Linux kernel.

Status: abgeschlossen
Supervisors: Stefan Naumann, Daniel Lohmann
Project: CADOS
Bearbeiter: Christian Müller
Extending the Linux memory management to use NVM for swapping.
Bintail: Binary Level Tailoring of ELF Executables via Feature Selection and Variant Elimination
Status: abgeschlossen
Supervisors: Florian Rommel, Christian Dietrich, Daniel Lohmann
Project: CADOS
Bearbeiter: Felix Herrmann (abgegeben: 01. Nov 2018)
Multiverse: Compiler-Assisted Dynamic Variability Management in the Linux Kernel

Status: abgeschlossen
Supervisors: Christian Dietrich, Andreas Ziegler, Wolfgang Schröder-Preikschat, Daniel Lohmann
Project: CADOS
Bearbeiter: Florian Rommel (abgegeben: 02. Nov 2017)
Use the multiverse compiler plugin to optimize paths in the Linux kernel [PDF]

Status: abgeschlossen
Supervisors: Florian Rommel, Christian Dietrich, Daniel Lohmann
Project: CADOS
Bearbeiter: Michael Rodin (abgegeben: 01. Oct 2018)
ROS Timestamps for libusb in the Linux Kernel

Status: abgeschlossen
Supervisors: Björn Fiedler, Christian Dietrich, Daniel Lohmann
Project: AHA
Analyzing and Optimizing TLB-Induced Thread Migration Costs on Linux/ARM

Status: abgeschlossen
Supervisors: Björn Fiedler, Christian Dietrich, Daniel Lohmann
Project: AHA
Bearbeiter: Tobias Landsberg (abgegeben: 21. Nov 2018)
Status: abgeschlossen
Supervisors: Christian Dietrich, Andreas Ziegler, Wolfgang Schröder-Preikschat, Daniel Lohmann
Project: cHash
Use the cHash method to quantify the impact of source code changes.
Avoidance of Redundant Recompilations by Propagation of Semantic Fingerprints

Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann
Project: cHash
Redundant-compile propagation in the make dependency graph
Integration of AST Hashing into the GCC compiler

Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann
Project: cHash
Implementation and Analysis of a GCC Plugin to calculate an hash value over the abstract syntax tree of a compilation unit.