Theses

We offer Bachelor and Master theses projects for RUB students throughout the year in all areas of our research. You can get get a better idea about our research through our publications and our research directions. We do not supervise remote Bachelor and Master theses for non-RUB students.

Topics

We do not list specific topics for Bachelor or Master theses that we offer on our website for a simple reason: Picking a topic from a list is unlikely going to lead to a topic that closely matches your expertise and interests as well as our interests. Instead, our experience has shown that discussing available topics with you after your application works better. This is particularly important because we want you to make a rigorous scientific contribution with your thesis, which is extremely challenging if you are not captivated by your thesis topic.

The following example list of thesis topics that we supervised in the past might be give you an idea of areas for theses that we supervise.

Examples of Past Topics:

  • Analyzing the Impact of Software Patches through Changes in Symbolic Path Constraints (Master)
  • Detecting TLS Interception in the Wild (Bachelor)
  • Enhancing Fuzzbench for Multi-Core Fuzzing Evaluations (Bachelor)
  • Fairly Evaluating Diverse Fuzzing Metrics with FuzzBench (Bachelor)
  • Fuzzing Online Multiplayer Games (Bachelor)
  • Fuzzing Stateful Systems (Master)
  • Optimization and Distribution of Resources in Fuzzing Clusters (Bachelor)
  • Signed Certificate Timestamps: A Never-Failing Promise? (Bachelor)
  • Static Binary Analysis for Network Protocol Synthesis (Master)

Requirements

For writing a thesis with us, you need to have:

  • Programming experience in Python, C, C++, or Rust.
  • Experience with Git, LaTeX, and Linux.

Additionally, you should have background knowledge in at least one of the following areas:

  • Static program analysis, like data flow analysis, abstract interpretation, or symbolic execution.
  • Dynamic program analysis techniques, like fuzzing.
  • Vulnerability discovery and exploitation, for example, heap or kernel exploitation.
  • Evaluating program/protocol analysis methods and security mechanisms/techniques.
  • Network measurements and protocol analysis.
  • Network protocols, like TLS, DNS, BGP, or IPv6.

You should have also taken at least one, but preferably multiple of the following courses and done well:

  • Seminar on Software and Internet Security
  • Our practicals
  • Software Security
    • Program Analysis
    • Software Security 1
    • Software Security 2
    • Advanced Automated Testing
  • Internet Security
    • Network and Data Security 1
    • Network and Data Security 2
    • Message-Level Security

If you want to write your Bachelor thesis with us, but you do not have a strong background in IT security and systems, you will also need to do your study project with us.

Expectations and Grading

The overarching goal of writing a thesis is to show that you can apply the knowledge you gained during your studies to a new topic where it has not been applied to yet and rigorously evaluate it.

Our goal is that the thesis teaches you how to make a scientific contribution. The best thesis outcome are research results that are publishable in competitive conferences, workshops, or journals. Indeed, to achieve the highest possible grade, your thesis should make a scientific contribution that is publishable, with no additional technical work, at a second tier venue for Bachelor theses and at a top tier venue for Master theses. Similarly, to achieve the second highest grade, it should be publishable with minimal additional work, etc.

Application

If you are interested in writing your Bachelor/Master thesis with us, please send an application to [email protected].

Your application needs to include:

  • Your transcript of records (for Bachelor students, your Bachelor grades; for Master students, your Bachelor and Master grades).
  • A brief motivation discussing your preferred topics and interests (no more than one short paragraph). This does not need to be overly detailed, but it helps us to determine where the topic fit is. If you are unsure about your topic, just mention this and we can try to find a topic that matches your background and interests.
  • A concise description of your programming skills (one to two sentences).

Please do note that we will not reply to emails that:

  • Lack any of the above information.
  • Appear to have made significant use of generative AI and were not largely written by you.
  • Suggest you did not read the information we made available on this website.