Theses

Home / Theses

I offer topics for bachelor’s and master’s theses in the wider areas of software engineeringcloud computing, and services computing to students of Chalmers and University of Gothenburg. I do not accept fresh students from either, University of Zurich or TU Vienna. If you are not enrolled in Chalmers or GU, I cannot advise you!

In general, the following rules apply:

  • Bachelor Theses are scientific works of limited scope. They usually consist of a survey of the scientific state of the art in a relevant field, a small implementation task, a relevant evaluation (e.g., a small-scale user study), and a scientific monograph (the bachelor thesis). The thesis is supposed to be written in English using LaTeX, and has usually around 30 pages or a bit more.
  • Master’s Theses are larger scientific works. The structure of a master’s thesis follows what is mentioned above for bachelor’s theses, but the scope is larger, and the topic should generally be scientifically novel and interesting. My goal is usually that a master’s thesis topic is, if done properly, academically publishable. Production of a scientific paper as part of a master’s thesis is possible but not mandatory (but highly suggested if you are interested in continuing your studies towards a PhD). Please also carefully read through the official guidelines of the department.

I advise master’s theses in all areas that I actively conduct research in:

  • Cloud computing, with a particular focus on performance benchmarking of clouds
  • Middleware, particularly middleware for Web-based and distributed systems
  • Performance engineering, particularly software microbenchmarking (e.g., JMH), APM, performance visualization
  • Cloud cost management and prediction, particularly holistic cost modelling and the selection of cloud offerings
  • Continuous deployment, especially partial rollouts, shadow launches, canary releasing, and all other release engineering techniques that implement a-posteriori performance management
  • Services computing, especially microservice architectures, and particularly how they relate to cloud deployment, autoscaling, and cost management

In most of these topics, two tracks (or types of theses) are possible:

  • The systems-oriented thesis:  the underlying research question of a systems-oriented thesis is usually to build a prototype library, application, or framework that does (…). As a student, you need to understand the requirements, read up on existing (industrial and academic) systems that others have built and then do a fair bit of programming. Scientific evaluation is of course important (e.g., through a measurement of the overhead of a new library), but not a dominant part of this work. The value of your work will be, to a large extend, judged based on the technical quality of the system that you built.
  • The empirical thesis:  such a thesis is usually written to investigate one or more specific research questions using a quantitative or qualitative research method. The core of the work is collecting data (e.g., through mining GitHub, running Google BigQuery queries, running benchmarks on target systems, or sending out a survey), as well as analysing and interpreting the data. Quantitative methods (e.g., statistical hypothesis testing, plotting, machine learning) are central. Programming is often still required, but mostly for data collection purposes.

A review of the relevant literature is part of all topics, but I don’t usually advise theses that boil down to a pure literature review.