Embedded Systems

Simulation, Analysis and Generation of Timing-predictable Embedded Software

Bachelor’s/Master’s Thesis, Student Job, Forschungsmodul

We are currently looking for motivated students interested in contributing to several research projects in the area of performance anaylsis and simulation of embedded systems. Our frameworks, Timing Annotation and CAST, provide numerous opportunities to work on performance and program analysis using different programming languages. Although most of the assignable tasks require programming to some degree, it is always possible to balance the ratio of theory and practice.

Timing Annotation is a framework written in Python and C++ and allows state-of-the-art performance analysis and simulation of embedded software. CAST is a clang compiler based C++ framework for program transformation and analysis of software developed in C/C++.

Example Projects

The following list gives an incomplete overview of projects which can be worked on:

  • CAST: Implementation of a Control-Data-Flow Graph
  • CAST: Implementation of an alias analysis
  • CAST: Integration of clang static analyzer for analyses
  • A Predictable State Machine Implementaion for Safety-Critical Systems
  • Model-based Generation of Timing-predictable Embedded Software
  • Creation of a Representative C/C++ Benchmark Collection for Timing Research
  • Timing Annotation: Extend performance anaylsis with Branch Prediction
  • Timing Annotation: Implement cache simulation
  • Timing Annotation: Implementation of timing models for ARM or RISC-V based systems

Your Interests

If you are interested in one of the following topics, this job may well be what you are looking for.

  • Computer architecture
  • Software performance
  • Embedded software
  • Compilers
  • Program analysis
  • Simulations

Your Profile

You should know one of the main programming languages (Python, C++) and be open to acquire basic skills of the other. Most importantly, you should be interesed in one of the listed topics!


Benz, Joscha