Draft for discussion: this is an alternative to the current thesis page. Differences: the topics come first, each box is focused on one concrete idea, the requirements only list foundations, and what a student can pick up in the first weeks is listed separately. All texts, tags and the split into six boxes are proposals to be checked by the supervisors.
Thesis Topics
Pick the box that fits best. We expect you to know the foundations listed under Required. You do not need to know the tools listed under Learn in the first weeks yet, but you should be ready to spend the first weeks learning them. Click the tag in a box to start an email with the right subject.
Distributed Programming
Local-first systems & CRDTs
Tag: [DiFoSys]
Design, implement and benchmark replicated data types and local-first applications under realistic workloads.
Required
Learn in the first weeks Scala (our implementation language), CRDTs and consistency models
Example Benchmarking conflict resolution strategies in a collaborative editor
Verifying distributed systems
Tag: [DiFoVerif]
Specify and prove properties of replication protocols, consistency models and access control in a proof assistant.
Required
- Solid programming skills in a typed language (e.g. from COPL, DAIMPL, IMPL or your own projects)
- Comfortable with inductive proofs on paper
Learn in the first weeks Lean, Dafny or Viper, whichever fits your topic
Example Mechanized proof of convergence for a CRDT with access control
Functional Programming
Efficient functional programs
Tag: [FunPerf]
Make functional and differentiable programs fast: compilers, incrementalization, probabilistic and differentiable programming.
Required
Learn in the first weeks Compiler techniques for functional languages, a benchmarking methodology
Example Incremental evaluation of a functional query language
Types & mechanized proofs
Tag: [FunProof]
Design type systems and DSLs (choreographies, session types) and prove them sound in a proof assistant.
Required
- Concepts of Programming Languages (COPL)
- Comfortable with lambda calculus and inductive proofs on paper
Learn in the first weeks Lean 4, which you will use daily
Example Mechanized type soundness for a choreographic language
Artificial Intelligence
Coding assistants
Tag: [CodeAI4SE]
Supervision capacity is currently full: please do not contact us before the beginning of March 2027.
Build and evaluate models for code understanding and generation, including secure coding assistance.
Required
- Solid Python and experience in one ML framework (e.g. from AI4CA, SDT, a machine learning course or your own projects)
Learn in the first weeks Fine-tuning and evaluation of language models for code
Example Evaluating diffusion language models for code completion
Neurosymbolic verification
Tag: [NeuroVerifi]
Supervision capacity is currently full: please do not contact us before the beginning of March 2027.
Combine neural models with symbolic reasoners: learning-guided program verification and neural heuristics for theorem proving.
Required
- Solid programming skills
- Exposure to both machine learning and formal methods or verification
Learn in the first weeks Lean, separation logic
Example Learning proof-search heuristics for a program verifier
Thesis Inquiries
If you have already worked with a member of the group, for example in a seminar or project, write to that person directly. Otherwise write to our email postbox jobs@stg.tu-…, and we will forward your email to the most fitting potential supervisor.
A bachelor thesis is 12 CP (about 16 hours/week), a master thesis 30 CP (about 40 hours/week). Students occasionally underestimate this: a master thesis is not something you can do on the side! Trying to combine a master thesis with a job usually fails, because too little time is left for the thesis.
Your email should contain:
- Subject: “[TAG] Bachelor Thesis Inquiry (YOUR NAME)” or “[TAG] Master Thesis Inquiry (YOUR NAME)”, where TAG is the tag shown in the topic box above, for example “[DiFoSys]”.
- Why this topic: two or three sentences in your own words on why the topic interests you and what you would do first. Mention something you taught yourself.
- Background: which required items you meet: courses you passed, programming languages you speak (and want to learn), and relevant course or hobby projects.
- Transcript of records: a pdf export of your grades from Tucan.
Try to keep the email below roughly 250 words. We only supervise theses of students of TU Darmstadt, not external ones. You do not need a CV, please do not attach one. If you write a generic, bland email with an LLM, we will have a bad impression of you and will not be interested in supervising you.
We get a lot of inquiries; please be patient with the answer.
Jobs
Information about doctoral and student research assistant positions is on the current thesis page.