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

Winter 2018

Sommer 2018

Winter 2017

Summer 2017

Theses

Open Theses

Entwurf und Implementierung eines Interprozess-Kommunikationsschemas über nichtflüchtigen Speicher in Linux

Typ: Bachelorarbeit
Status: offen
Supervisors: Stefan Naumann, Daniel Lohmann
Project: CADOS
Entwurf eines Systems zur persistenten Kommunikation über NVM

Fault-Space Pruning by Dynamic Register-Usage Recording

Typ: Masterarbeit
Status: offen
Supervisors: Christian Dietrich, Daniel Lohmann
Project: CLASSY-FI
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.

Running Theses

Effizientes Laden dünn besetzter Datenstrukturen auf eingebetteten Systemen

Typ: Bachelorarbeit
Status: laufend
Supervisors: Björn Fiedler, Daniel Lohmann
Project: AHA
Bearbeiter: Jannis Thöle
Introduction of Sparse Data Segments for Embedded Systems

Static analysis and interpretation of POSIX applications

Typ: Bachelorarbeit
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.

Static analysis of Zephyr-OS applications

Typ: Bachelorarbeit
Status: reserviert
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Extend ARA - a (real-time) operating system (RTOS) analyzer - for analysis of Zephyr, an RTOS guided by the Linux Foundation

Formalizing the Execution Semantics of the AVR Instruction Set with the Description Language SAIL

Typ: Bachelorarbeit
Status: reserviert
Supervisors: Christian Dietrich, Oskar Pusz, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Luca Nedaskovskij
Implementing the AVR-processor instruction-set architecture in SAIL for generating emulators automatically.

Design and Implementation of a Graphical Simulator for a Pipelined Processor Architecture

Typ: Bachelorarbeit
Status: laufend
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

Implementierung und Evaluation eines FUSE-Dateisystems für Linux zur Integration erweiterter Änderungsdetektionsverfahren in Buildsystemen

Typ: Bachelorarbeit
Status: laufend
Supervisors: Tobias Landsberg, Daniel Lohmann
Project: cHash
Bearbeiter: Malte Müller
Implementation of a Filesystem in Userspace to add cHash support to Make

Extension of the System-State Enumeration to Multiple Cores for Embedded Real-time Systems

 
Typ: Masterarbeit
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.

Investigating Non-Disruptive Checkpoints via Address-Space Clones in Linux-Based Non-Volatile Memory Systems

Typ: Masterarbeit
Status: laufend
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

Typ: Masterarbeit
Status: laufend
Supervisors: Christian Dietrich, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Malte Bargholz
Integration of SAIL-based MIPS and CHERI emulators into the FAIL* fault-injection tool and quantitative fault-resilience comparision.

Entwurf und Implementierung eines Python-Moduls zum Persistieren von Objekten zur Laufzeit auf nichtflüchtigem Speicher

Typ: Masterarbeit
Status: reserviert
Supervisors: Stefan Naumann, Daniel Lohmann
Project: CADOS
Entwurf eines Persistenz-Moduls für Python auf Basis von NVM

Erweiterung des Linux-Kerns um mehrstufige Seitenumlagerung für Systeme mit nichtflüchtigem Speicher (NVM)

Typ: Masterarbeit
Status: laufend
Supervisors: Stefan Naumann, Daniel Lohmann
Project: CADOS
Bearbeiter: Christian Müller
Extending the Linux memory management to use NVM for swapping.

Finished Theses

InterSloth: Globales Hardware-gesteuertes Scheduling in einem Multikern-Echtzeitbetriebssystem auf RISC-V

Typ: Bachelorarbeit
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

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Gerion Entrup, Christian Dietrich, Daniel Lohmann
Project: AHA
Bearbeiter: Matthias Wolf (abgegeben: 01. Nov 2018)

Separating Control and Data Stacks with Binary Patching

 
Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann

Priority-Obedient Multicore Interrupt Controller

 
Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann

Automatische Generierung statistisch spezialisierter FreeRTOS-Kerne mit LLVM

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

Statische Instanziierung von FreeRTOS Systemobjekten zur Verbesserung nichtfuntionaler Eigenschaften mit dem ARA Codegenerator Framework

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

Idealer Gebrauch von LLVM-Optimierungstechniken zur Verbesserung statischer Analyse von Echtzeitsystemen

 
Typ: Bachelorarbeit
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

Untersuchung von Angriffszenarien aus dem Desktopberreich auf Linux-basierte Infotainmentsysteme im Automobil

Typ: Bachelorarbeit
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

Typ: Bachelorarbeit
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.

Measuring Effects of Compiler Flags on Different Processor Architectures

Typ: Bachelorarbeit
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

Typ: Bachelorarbeit
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.

bAUTOSAR: A Javascript Real-Time Abstraction for Improved Website Responsiveness

Typ: Bachelorarbeit
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.

Fault-Space Approximation using Basic-Block Fault Injection

Typ: Bachelorarbeit
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

Typ: Bachelorarbeit
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

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Oskar Pusz, Christian Dietrich, Daniel Lohmann
Project: CLASSY-FI
Bearbeiter: Zena Obeidi (abgegeben: 01. Mar 2019)

Automatic Real-Time System Analysis

 
Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Gerion Entrup, Daniel Lohmann
Project: AHA
Bearbeiter: Benedikt Steinmeier (abgegeben: 06. Mar 2019)

How to trust the Snake: Extending the Chain of Trust to Interpreted Languages on Highly Embedded Systems

Typ: Bachelorarbeit
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.

Acceleration of Fault-Injection Campaigns through Early Timeout Detection

Typ: Masterarbeit
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

Schotbruch: Automatisierte Ableitung von Injektionsplattformen für transiente Hardwarefehler aus formalen Prozessormodellen

Typ: Masterarbeit
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

Typ: Masterarbeit
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

Typ: Masterarbeit
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.

Bintail: Binary Level Tailoring of ELF Executables via Feature Selection and Variant Elimination

Typ: Masterarbeit
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

Typ: Masterarbeit
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]

Measurement-Directed Application of Compiler-Assisted Dynamic Variability Management in the Linux Kernel

Typ: Masterarbeit
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

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Björn Fiedler, Christian Dietrich, Daniel Lohmann
Project: AHA

Analyzing and Optimizing TLB-Induced Thread Migration Costs on Linux/ARM

Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Björn Fiedler, Christian Dietrich, Daniel Lohmann
Project: AHA
Bearbeiter: Tobias Landsberg (abgegeben: 21. Nov 2018)

Effiziente globale Änderungsanalysen in großen C-Projekten durch Syntaxbaum-Hashing im Clang Compiler

 
Typ: Masterarbeit
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

Typ: Bachelorarbeit
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

Typ: Bachelorarbeit
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.