Finding a Thesis Project

For students participating in the TU Delft computer science and embedded systems master’s programs we have several openings for MSc projects.

All MSc projects are aligned with our research. They often are connected to one of our ongoing research projects, but we also frequently use MSc projects to explore new research directions. Projects can be conducted at:

  • TU Delft in our own research labs, in close collaboration with our postdocs and PhD students
  • Industry (as part of an internship), usually with companies (in The Netherlands or abroad) with which we have an ongoing research collaboration (e.g. ING, SIG, Adyen, ATOS, XWiki, Microsoft, Google, Facebook, Infotron, JetBrains, …)
  • Other (international) universities – we have a rich network of academic friends around the world.

SERG Supervisors

You can make an appointment with one of the SERG group members to see what projects are currently open, or you can propose your own project, provided there is a clear connection with the research we conduct at our labs. You can contact the following persons for more information:

Supervisor Topics Examples
Maurício Aniche Software maintenance, software refactoring, software testing Example theses
Arie van Deursen Human aspects, software architecture, software testing Example theses
Georgios Gousios Machine learning for software engineering, repository mining, software analytics Example theses
Annibale Panichella Software testing, search-based software engineering, security testing Example theses
Rini van Solingen Globally distributed software engineering, agile practices Example theses
Andy Zaidman Software testing, software evolution, repository mining Example theses


Composing your Study Program

If you plan to conduct your MSc project at SERG, you will need to include at least two of the CS MSc courses SERG teaches in your IEP (Individual Exam Program). We strongly recommend you to follow our software architecture and software analytics courses. Besides our own software engineering related courses, when choosing the electives in your program you can consider including courses in such areas as machine learning, data science, compiler construction, distributed systems, or security.

Optionally, you can start your research with a 7-8 week literature survey (IN4306, 10EC). This assignment is concluded with a report containing an overview of the state-of-the-art in a particular branch of research.

Open projects

Published Where Project Title SERG contact
Nov-2019 TU Delft / JetBrains Prioritizing patches to minimize conflicts Georgios Gousios, Vladimir Kovalenko
Oct-2019 TU Delft Machine Learning for Software Refactoring Maurício Aniche
Oct-2019 TU Delft Boosting search-based software testing with ML Annibale Panichella
Sep-2019 TU Delft Design and Implementation of a parallel awk-like language Diomidis Spinellis
Sep-2019 TU Delft Layering Violations in the Linux Kernel Diomidis Spinellis
Sep-2019 TU Delft Which Are the Key Infrastructure Open Source Projects? Diomidis Spinellis
Sep-2019 TU Delft Software engineering of Deep Learning applications Diomidis Spinellis
Sep-2019 TU Delft What is the Quality of Open-Source Safety-Critical Software? Diomidis Spinellis
Sep-2019 TU Delft Biometrics and software engineering Maurício Aniche
Jul-2019 TU Delft Large-Scale API misuse Detection Joseph Hejderup, Georgios Gousios
Jul-2019 TU Delft How developer personality influences software development? Ayushi Rastogi
Jul-2019 TU Delft, SIG A decision support tool to assist the decision-making of software libraries adoption Enrique Vargas, Georgios Gousios
Jul-2019 TU Delft, ING Improving ING’s Machine Learning as a Service Georgios Gousios, Arie van Deursen
Jul-2019 TU Delft Developer diversity and inclusion Ayushi Rastogi
Jun-2019 TU Delft Real-time analysis of dependency networks Georgios Gousios
Sep-2018 TU Delft, ING Improving ING’s A/B testing pipeline Arie van Deursen
Jun-2018 TU Delft Call-based dependency networks for Python Georgios Gousios
Jun-2018 TU Delft Detecting programming styles Georgios Gousios
Jun-2018 TU Delft A REPL loop for the CodeFeedr project Georgios Gousios


Proposing your Own Project

Under certain conditions it can also be possible to propose your own project. In those cases it is important to

In particular you need to carefully think about the research component of your proposal, and have a clear idea on why your proposal is novel – it should advance the world’s knowledge in software engineering. If you wish to pursue this route it is advisable to select and contact a possible supervisor as early as possible.

Writing your Thesis

Once you’ve found your project and your supervisor, we recommend that you start writing as soon as possible: Devise a table of content, and fill in details as you go.

To write your thesis you need to make use of our MSc Thesis Template.