Topic 1: Implementing Machine Learning Algorithms to predict a lifespan of saw blade

Task definition

Toolbot is a new rental company for hight quality professional craft tools like circular saw. In this Bachelor thesis you are going to predict a lifespan of saw blade using collected data (pictures of saw blade with worn / missing teeth) from the company or introducing possible new data from additional sensors.

(Bachelor Thesis – immediately – 4 months)

Motivation:

You would be working with real case data in cooperation with Cottbus Start-up Toolbot. You would be learning the latest machine learning and AI algorithms and cloud solutions for industrial applications.

Research Question:

Based on the collected data you should find a solution to determine the state of the machine and predict its lifespan. Suitable machine learning algorithms for predictive maintenance should be evaluated. The solution can be implemented on GCP.

Requirements:

Interested students should have

  • Understood the concept of predictive maintenance,
  • A general understanding of machine learning and AI,
  • Experience with Google Cloud Platform (GCP) is recommended.

Recommended modules:

  • 11374 | Einführung in die Künstliche Intelligenz
  • 12351 | Grundlagen des Data Mining
  • 11331 | Mathematische Statistik

Supervisor:

  • Dr. Svetlana Meissner (Svetlana.Meissner@b-tu.de)

Topic 2: A configurable memory allocator for intertwined parallel shadow stacks

Task definition

This topic can be extended so that it can be worked on as a topic for a Master's thesis.

Shadow stacks are a state of the art means to detect return address corruption. A copy of each return address is placed onto a separate shadow stack. Before a function returns, the return address is compared with its copy to ensure it was not altered. Parallel shadow stacks are a variation that does not use a dedicated shadow stack pointer. Instead it keeps the layout of the main stack and uses the regular stack pointer and a fixed offset to reach the shadow stack. While this results in a fast and simple implementation, it is not very memory efficient. Some architectures, in this specific case the Xtensa architecture, have a specific alignment for their stack frames which makes possible positions for return addresses predictable. Carefully adjusting the start positions of such shadow stacks makes it possible to increase the memory usage by placing them in the same memory area, or intertwining them.

This brings new challenges to a memory allocator for such intertwined parallel shadow stacks as a chunk of memory may only be partially used by a shadow stack and may still be free for another one. Typically, dynamic memory is managed using an in-place list of free chunks. The student needs to adapt this concept to account for the special memory structure of intertwined parallel shadow stacks. Additionally, it should be possible to configure the memory allocator the be used in different scenarios, such as a shadow stack that only stores return addresses, or one that also stores stack pointers and therefore allows less intertwining.

Supervisor: Kai Lehniger M.Sc. (lehniger@ihp-microelectronics.com)