Assigned Thesis Topics

We are looking forward to working with you on your thesis project (in German or English)! Our group offers a range of open thesis topics in the general area of software engineering or programming languages. We also welcome your own ideas, especially if they are in scope of our research topics.

If you are interested in pursuing a thesis with our group, please send us an email with the following information:

  • a brief description of the kind of work you are interested in (e.g. more theoretical, more practical, a programming task, ...)
  • your level of knowledge of the theory or implementation of programming languages (if any)
  • a current transcript of your grades
  • potentially relevant skills you acquired outside of university

List of currently assigned thesis topics

Lena Käufel (BSc)

Property Testing in Effekt

Testing is one of the most important methods for ensuring software quality. However, traditional example-based testing methods have inherent limitations: they are restricted to evaluating individual scenarios, yet they are often used to justify broader claims than these scenarios can support.

Read more ...
Frederic Schanne (BSc)

Bridging Theory and Practice: Evaluating Continuation Integration Best Practices at a Software Company

Continuous Integration (CI) is a common best practice in software development. This practice dictates, that among other factors, developers should commit early and often and receive feedback about their work as soon as possible. In order to be effective in a large scale software development environment and to reap all the benefits that come with it, the CI pipeline has to be designed in a certain way and all stakeholders involved need to be instructed.

Read more ...
Mattis Krauch (BSc)

Partial type signatures for the Effekt language

Partial type signatures are type signatures allowing wildcards in their definition. These wildcards are placeholders for other types which are inferred at compile-time. By using these wildcards, a programmer is able to annotate parts of a type signature manually and let the typer infer the rest. Therefore partial type signatures allow us to omit potentially long and complex parts of a type annotation while providing more restrictions to the type than without any annotation.

Read more ...
Dennis Hieber (MSc)

Multiple Return Values in Effekt

Multiple return values in functions have long been regarded as a powerful feature in programming languages, enabling concise and expressive code. However, not all programming languages support this feature natively. Instead, most languages emulate multiple return values only via tuples. In the case of dynamically typed languages like Common Lisp multiple return values are supported but the dynamic handling may cause headaches: (type-of (values x y z)) is the same as (type-of x). This master thesis delves into designing and implementing multiple return values in the Effekt language. The thesis introduces native support for multiple return values in Effekt, exploring their significance and potential impact on software development.

Read more ...
Leonard Zieger (BSc)

Spectrum-based fault localization (SBFL) for Haskell

Spectrum-based fault localization (SBFL) is a technique for automatically locating the probable source code location of bugs in software.

Read more ...