Offered MSc Thesis topics

We welcome students interested in software engineering, empirical research and modern software technologies to do their thesis with our group! Below are some pointers and topics stemming from our research interests.

See also our current list of projects on the Research page to get an idea of what is topical in our research. Another list of all our projects is also available in Tuhat, with responsible persons listed (you can ask them about potential thesis topics).

A more exhaustive list of topics from the department is available at CSM Master thesis topics.

General writing Instructions

We have written some instructions to help the students write their Master's theses, seminar papers and B.Sc. theses. Please, read the guide before starting your thesis work: Scientific Writing – Guide of the Empirical Software Engineering Research Group.

Master's Thesis Topics

Software engineering and technology are prevalent areas for thesis at the department, and many candidates ask for thesis topics every academic year. We do our best to accommodate the requests, but the applicants can smoothen the process by taking an active role in thinking about potential topics based on the themes presented below.

We provide guidance for selecting a suitable topic and the supervision and support needed to complete the work. Please contact Antti-Pekka Tuovinen or Tomi Männistö if you are interested. You can also contact the group members to ask about the subject areas they are working on.

Suppose you, as a student, are working in software development, processes, architecture or something related. In that case, there is a good chance of finding an interesting thesis topic that closely relates to your work. In such a case, the actual work often provides an excellent problem to investigate, propose or try out potential solutions for, or the case can act as a rich source of data about the practice of software development.

We also welcome companies to suggest potential topics for Master's thesis. The topics can be general, based on existing research, or they may require original research and problem-solving. We will help to evaluate and fine-tune the proposals. Depending on the topic, you may also need to be prepared to provide guidance and assistance during the thesis project.

Please contact Antti-Pekka Tuovinen or Tomi Männistö if you have an idea for an industrial thesis and need further information.

The listing below introduces our current research areas and potential topics for the thesis. Each topic has a short description and the names of the researchers working on the topic. Please contact them for more details about the research and thesis work. Note that you can also suggest and discuss other topics within the general area of software engineering research. We encourage creativity and student-centred insight in selecting and defining the topic.

Earlier theses

Some earlier MSc thesis titles below give some idea about the topics. You can try looking up more info from E-thesis, but note that it is up to the author if the actual thesis pdf is available online. Just search using the title (or part of it) in quotation marks. You can also go to the library in person and read all theses (even those without a public pdf) on a kiosk workstation (ask the staff if you need help).

  • Exploring study paths and study success in undergraduate Computer Science studies
  • EU:n tietosuoja-asetuksen GDPR:n vaikutus suomalaisissa pk-yrityksissä 2018-2020
  • Industrial Surveys on Software Testing Practices: A Literature Review
  • Laskennallisesti raskaan simulointiohjelmistokomponentin korvaaminen reaaliaikasovelluksessa koneoppimismenetelmällä
  • Web service monitoring tool development
  • Case study: identifying developer oriented features and capabilities of API developer portals
  • Documenting software architecture design decisions in continuous software development – a multivocal literature review
  • Elinikäinen oppiminen ohjelmistotuotannon ammattilaisen keskeisenä
  • Miten huoltovarmuus toteutuu Ylen verkkouutisissa?
  • Utilizing Clustering to Create New Industrial Classifications of Finnish Businesses: Design Science Approach
  • Smoke Testing Display Viewer 5
  • Modernizing usability and development with microservices
  • On the affect of psychological safety, team leader’s behaviour and team’s gender diversity on software team performance: A literature review
  • Lean software development and remote working during COVID-19 - a case study
  • Julkaisusyklin tihentämisen odotukset, haasteet ja ratkaisut
  • Software Development in the Fintech Industry: A Literature Review
  • Design of an automated pipeline to improve the process of cross-platform mobile building and deployment
  • Haasteet toimijamallin käytössä ohjelmistokehityksessä, systemaattinen kirjallisuuskatsaus
  • Light-weight method for detecting API breakages in microservice architectures
  • Kirjallisuuskatsaus ja tapaustutkimus API-hallinnasta mikropalveluarkkitehtuurissa
  • In-depth comparison of BDD testing frameworks for Java
  • Itseohjautuvan auton moraalikoneen kehittämisen haasteet
  • Towards secure software development at Neste - a case study
  • Etuuspohjaisen eläkejärjestelyn laskennan optimointi vakuutustenhallintajärjestelmässä
  • Internal software startup within a university – producing industry-ready graduates
  • Applying global software development approaches to building high-performing software teams
  • Systemaattinen kirjallisuuskatsaus lääkinnällisistä ohjelmistoista ja ketterästä ohjelmistokehityksestä
  • Matalan kynnyksen ohjelmointialustan hyödyntäminen projektinhalinnassa
  • Uncertainty Estimation with Calibrated Confidence Scores
  • Tool for grouping test log failures using string similarity algorithms
  • Design, Implementation, and Validation of a Uniform Control Interface for Drawing Robots with ROS2
  • Assuring Model Documentation in Continuous Machine Learning System Development
  • Verkkopalvelun saavutettavuuden arviointi ja kehittäminen ohjelmistotuoteyrityksessä
  • Methods for API Governance automation: managing interfaces in a microservice system
  • Improving Web Performance by Optimizing Cascading Style Sheets (CSS): Literature Review and Empirical Findings
  • Implementing continuous delivery for legacy software
  • Using ISO/IEC 29110 to Improve Software Testing in an Agile VSE
  • An Open-Source and Portable MLOps Pipeline for Continuous Training and Continuous Deployment
  • System-level testing with microservice architecture
  • Green in software engineering: tools, methods and practices for reducing the environmental impacts of software use – a literature review
  • Machine Learning Monitoring and Maintenance: A Multivocal Literature Review
  • Green in Software Engineering: A Systematic Literature Review
  • Comparison of Two Open Source Feature Stores for Explainable Machine Learning
  • Open-source tools for automatic generation of game content
  • Verkkosovelluskehysten energiankulutus: vertaileva tutkimus Blazor WebAssembly ja JavaScript
  • Infrastruktuuri koodina -toimintatavan tehostaminen
  • Geospatial DBSCAN Hyperparameter Optimization with a Novel Genetic Algorithm Method
  • Hybrid mobile development using Ionic framework
  • Correlation of Unit Test Code Coverage with Software Quality
  • Factors affecting productivity of software development teams and individual developers: A systematic literature review
  • Case study: Performance of JavaScript on server side
  • Reducing complexity of microservices with API-Saga
  • Organizing software architecture work in a multi-team, multi-project, agile environment
  • Cloud-based visual programming BIM design workflow
  • IT SIAM toimintojen kehitysprojekti
  • PhyloStreamer: A cloud focused application for integrating phylogenetic command-line tools into graphical interfaces
  • Evaluation of WebView Rendering Performance in the Context of React Native
  • A Thematic Review of Preventing Bias in Iterative AI Software Development
  • Adopting Machine Learning Pipeline in Existing Environment

Current topic areas of interest to the research group (see below for the details)

Open source-related topic areas in collaboration with Daimler Truck (TOPIC AREAs, INDUSTRIAL COLLABORATION)
Hybrid software development (TOPIC AREA)
Digital Twin of Yourself
Software engineering and climate change (TOPIC AREA)
Life-long learning for the modern software engineering profession
Software development in non-ICT contexts (TOPIC AREA)
Creatively self-adaptive software architectures (TOPIC AREA)
Continuous experimentation (TOPIC AREA)
Digitalization and digital transformations: impacts on software engineering and systems development (TOPIC AREA)
High-performing software teams (TOPIC AREA)
Software innovation (TOPIC AREA)


Open source-related topic areas in collaboration with Daimler Truck

  1. Open Chain: Developing the Journey to Open Chain Compliance at the example of Daimler Truck
  2. How should an industrial company (for example, Daimler Truck) leverage open source software:
    Building a framework with different dimensions, from efficient governance to value in inner source and open source projects
  3. How can an organization efficiently incentivize inner-source activities?
    (on different levels, culture, infrastructure, governance, regulations & commitments.)
  4. How can an industrial organization leverage value from actively engaging in FOSS activities
    (especially on active creation and contribution)
  5. How can spillovers help Industrial companies to educate the rare resources but also attract and retain talent?
    Gandal, N., Naftaliev, P., & Stettner, U. (2017). Following the code: spillovers and knowledge transfer. Review of Network Economics, 16(3), 243-267.
    Abstract: Knowledge spillovers in Open Source Software (OSS) can occur via two channels: In the first channel, programmers take knowledge and experience gained from one OSS project they work on and employ it in another OSS project they work on. In the second channel, programmers reuse software code by taking code from an OSS project and employing it in another. We develop a methodology to measure software reuse in a large OSS network at the micro level and show that projects that reuse code from other projects have higher success. We also demonstrate knowledge spillovers from projects connected via common programmers.

If interested, contact Tomi Männistö for further information

Hybrid software development (TOPIC AREA)

The current pandemic has brought many, even radical, changes to almost all software companies and software development organizations. Especially the sudden moves to working from home (WFH) in March 2020 forced them to adapt and even rethink many software engineering practices in order to continue productive software development under the new constraints.

Now (December 2021), various hybrid ways of working appear to become the new "normal" for the software industry in general. For instance, many companies are offering flexible workplace arrangements (WFX).

This thesis theme aims to explore and possibly explain such changes in contemporary software engineering. Potential research questions include the following:

  • How has the COVID-19 pandemic affected different software engineering activities (negatively or positively)? What are the mechanisms?
  • What adaptations and countermeasures have different software organizations devised to cope with the challenges?
  • What could be learned from them for future hybrid software development processes, practices and tools?

Contact: Petri Kettunen


MLOps -- as a derivative of DevOps -- is about practice and tools for ML-based systems that technically enable iterative software engineering practice. We have several funded positions in the area of MLOps in our research projects (IMLE4 and AIGA that can be tailored to the interest of the applicant. For details, contact Mikko Raatikainen (

Digital Twin of Yourself

Digital twins are virtual world dynamic models of real-world physical objects. They originate from manufacturing domains. In such environments, they are utilized, for example, for predictive maintenance of equipment based on real-time machine data.

Recently the application domains of digital twins have broadened to cover living objects – especially human beings, for instance, in medical domains (so-called Human Digital Twins). In this thesis topic, the objective is to design a digital twin of yourself. The choice of the digital twin dynamic model is free, and so are the data inputs. One possibility could be, for instance, your real-life physical exercise data (e.g., from a heart-rate monitor). You could also consider your Citizen Digital Twin, following your study data and yourself as a lifelong learner.

Contact: Petri Kettunen

Software engineering and climate change (TOPIC AREA)

Global climate change may have various impacts on future software engineering on the one hand, and software engineering may affect climate change directly or indirectly, positively or negatively on the other hand. All that opens up many potentially important research problems. Specific theses in this topic area could be, for instance, the following themes:

  • Green IT (e.g., engineering new software with energy-efficiency requirements in order to reduce or limit power consumption and consequently the carbon footprint)
  • Carbon neutrality goals of software companies (e.g., software development organizations decreasing physical travelling in order to reduce their greenhouse gas emissions)
  • Developing software products or services for measuring climate change-related factors

The thesis could be a literature review, an empirical case study or a scientific design work.

Contact: Petri Kettunen

Life-long learning for the modern software engineering profession

Specific intended learning outcomes for computer science (software engineering) graduates are life-long learning skills. Such skills and capabilities are essential in modern industrial software engineering environments. Workplace learning is a vital part of most professional software development jobs. What are the necessary life-long learning skills exactly? Why are those skills and capabilities essential in different software organizations? How can they be learned and improved? How do software professionals learn in their workplaces? What particular skills will be more critical in the future? Why?
This topic could be investigated by case studies in real-life software organizations. The specific research questions could be some of the above or possibly focused on particular skills (e.g., assessing one's own and the works of other software developers).
Contact: Petri Kettunen

Software development in non-ICT contexts (TOPIC AREA)

Software technology is increasingly applied in non-ICT domains and environments (e.g., healthcare, financial sector, telecommunications systems, industrial automation). Such conditions bring up many considerations for effective and efficient software engineering, such as: What are the key characteristics of different use domains (e.g., complexity, reliability)? What is the scope of the particular software system? How are the software requirements engineered? What are the specific constraints (e.g., regulations) in different domains to be considered in software engineering? How to measure the success of software projects and products? What software development methods (e.g., agile) are applicable in different domains? Why/why not? What particular software-related competencies are needed (e.g., digitalization, IoT, cyber-physical systems)?
This research problem could be investigated theoretically (literature study) and empirically in industrial case studies. The actual research questions could be some of the above or formulated individually.
Contact: Petri Kettunen

Creatively self-adaptive software architectures (TOPIC AREA)

We have recently started exciting research in the intersection between the research fields of self-adaptive software and computational creativity, intending to develop novel software architectures that can creatively adapt themselves in unforeseen situations. This initiative is a new research collaboration between the Discovery Group of Prof. Hannu Toivonen and ESE. There are different options for thesis work with either of the groups. To get a better idea of the topic, see Linkola et al. 2017. Aspects of Self-awareness: An Anatomy of Metacreative Systems.…
Contact: Tomi Männistö

Continuous Experimentation (TOPIC AREA)

Software product and service companies need capabilities to evaluate their development decisions and customer and user value. Continuous experimentation, as an experiment-driven development approach, may reduce such development risks by iteratively testing product and service assumptions critical to the software's success. Experiment-driven development has been a crucial component of software development, especially in the last decade. Companies such as Microsoft, Facebook, Google, Amazon and many others often conduct experiments to base their development decisions on data collected from field usage. 
Contact: Tomi Männistö

Digitalization and digital transformations: impacts on software engineering and systems development (TOPIC AREA)

Digitalization is nowadays cross-cutting and inherent in most areas of businesses and organizations. Software is increasingly built-in and ubiquitous. Such trends and developments bring up many potential software research problems, such as: What does digitalization entail in different contexts? How should digitalization be taken into account in software development processes? What is the role of customer/user involvement in software-intensive systems development (e.g., digital services)? What are the key quality attributes? What new software engineering skills and competencies may be needed? What is the role of software (and IT) in general in different digital transformations (e.g., vs business process development)? How is digitalization related to traditional software engineering and computer science disciplines in different contexts? What aspects of software development and digital technologies are fundamentally new or different from the past?
This research problem could be investigated theoretically (literature study) or empirically in industrial case studies. The actual research questions could be some of the above or formulated individually.
Contact: Petri Kettunen

High-performing software teams (TOPIC AREA)

How is (high) performance defined and measured in software development (e.g., productivity)? Which factors affect it - positively or negatively - and how strongly (e.g., development tools, team composition)? Can we "build" high-performing software teams systematically, or do they merely emerge under certain favourable conditions? What are suitable organizational designs and environments for hosting and supporting such teams? See this link and this link for more info.
Contact: Petri Kettunen

Software innovation (TOPIC AREA)

How are innovation and creativity taken into account in software development processes and methods (e.g., Agile)? What role do customer/user input and feedback play in software(-intensive) product creation (e.g., open innovation)? How to define and measure 'innovativeness' in software development? What makes software development organizations (more) innovative? See here for more about the topic. How can Open Data Software help innovation?
Contact: Petri Kettunen