Child pages
  • Master's thesis topics

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TitleAbstractSupervisorsLink
MLOps

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 https://itea4.org/project/iml4e.html and AIGA https://ai-governance.eu/) that can be tailored to the interest of the applicant. For further details, contact Mikko (firs.last@helsinki.fi).

Mikko Raatikainen

(Jukka K Nurminen)

(Tommi Mikkonen)


AI System Testing

As machine learning moves from laboratories to real use, good ways to deploy, test, and maintain AI solutions become increasingly important. There are multiple topics about this research theme:

  • experimentation (e.g. Coverage testing of neural networks, where the aim is to study how we can measure which parts of the neural network are activated and look for ideas how to use this information for improved testing and maintenance).
  • literature review (e.g. Survey of technical/process solutions for AI system testing)
  • other aspects agreed with the teacher
Jukka K Nurminen

E.g. https://arxiv.org/abs/1705.06640

https://arxiv.org/abs/1812.05389


Computational Moral

When computers are increasingly making decisions, such as who gets a loan or how does an autonomous vehicle behave in case of emergency, the ethical questions of such decision making become important. The thesis could look at technical issues and solutions to assist in ensuring fair decisions. Alternatives include:

  • measurement study (e.g. investigate tools which detect and correct bias in AI based decision making)
  • literature review (e.g. techniques to deal with ethical problems in decision making in autonomous systems)
Jukka K Nurminen

https://arxiv.org/pdf/1810.01943.pdf

https://www.nature.com/articles/s41586-018-0637-6


Programming of Quantum Computers

Quantum computing is considered a promising direction for efficient solution of e.g. combinatorial optimization problems, which are common in machine learning and operations research. The aim is to look at the issue from practical perspective: what can be done today (e.g. with D-WAVE, IBM-Q ), how to formulate the problems for quantum computing, understand what are the main bottlenecks, and what are the most promising future directions. The work could include experimentation with quantum computers and their simulators and software development toolkits.

Jukka K Nurminen

https://www.nature.com/articles/npjqi201523

https://www.research.ibm.com/ibm-q/technology/experience/

https://www.dwavesys.com/take-leap

Cre­at­ively Self-Ad­apt­ive Soft­ware Ar­chi­tec­tures

We have recently started exciting research in the intersection between the research fields of self-adaptive software and computational creativity, with the goal of developing novel software architectures that can creatively adapt themselves in unforeseen situations. This initiative is a new research collaboration between Discovery Group of Prof. Hannu Toivonen and ESE. There are different options for thesis work with either of the groups.

Tomi Männistö (Self-adaptive, architecture),

Hannu Toivonen (Computational Creativity)

https://www.helsinki.fi/en/researchgroups/empirical-software-engineering/offered-msc-thesis-topics

 http://computationalcreativity.net/iccc2017/ICCC_17_accepted_submissions...

Robotics software and software architectures

We are building an interesting line of research in the area of software and software architectures for robotics. This area is an intersection of software engineering and artificial cognitive systems, and takes into account knowledge from different domain areas where robots perform tasks in the physical world. Thesis work in this area can range from more technical and practical to theoretical. The perspectives include both questions about traits of the robotics platform architecture that make development of robotics applications easier and questions about implementing software for robotics systems in different kinds of physical environments.

Niko Mäkitalo

https://www.helsinki.fi/en/researchgroups/empirical-software-engineering/offered-msc-thesis-topics

Open Source Software Development

Open Source Software development is characterised by openly available online collaboration and communication systems. There is a growing body of work examining the data accumulating in such systems. Descriptive studies have examined, e.g., how the development process unfolds and how the social communication structure corresponds to technical actions in the code. Other studies have tried to leverage the the repository data for improving software quality, easing communication, or automating development tasks. Theses in this area could focus on, e.g., analysis of communication patterns using Natural Language Processing techniques, collecting and using software metrics, automated development process support, or methods for analysing specific kinds of repository data.

Keywords: Mining software repositories, Open Source Software

Tommi Mikkonen

https://www.helsinki.fi/en/researchgroups/empirical-software-engineering/offered-msc-thesis-topics

Guzzi et al., Communication in open source software development mailing lists, in Mining Software Repositories (MSR), 2013. - https://ossmeter.com/

Pro­gram­mable World 

The emergence of millions of remotely programmable devices in our surroundings will pose signicant challenges for software developers. A roadmap from today’s cloud-centric, data-centric Internet of Things systems to the Programmable World highlights those challenges that haven’t received enough attention.Tommi Mikkonen

https://www.helsinki.fi/en/researchgroups/empirical-software-engineering/offered-msc-thesis-topics

http://blogs.helsinki.fi/ese-blog/2017/02/09/a-roadmap-to-the-programmable-world-software-challenges-in-the-iot-era/

Di­git­al­iz­a­tion and Di­gital Trans­form­a­tions: Im­pacts on Soft­ware En­gin­eer­ing And Sys­tems De­vel­op­ment

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?Petri Kettunen

https://www.helsinki.fi/en/researchgroups/empirical-software-engineering/offered-msc-thesis-topics


High Per­form­ing Soft­ware Teams

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

https://www.helsinki.fi/en/researchgroups/empirical-software-engineering/offered-msc-thesis-topics

https://www.cs.helsinki.fi/node/65141
http://www.cs.helsinki.fi/node/65143

Modeling human brain-signalsOur current interaction with information systems and digital information rely on explicit interaction. Could we mine the interest of the user directly from the human mind? Could unsupervised machine learning methods reveal interesting patterns of neural signals when we are engaged with digital information?Tuukka Ruotsalo
Conversational searchThere is a gradual shift towards searching and presenting the information in a conversational form. Chatbots, personal assistants in our phones and eyes-free devices are being used increasingly more for different purposes, including information retrieval and exploration. With the recent success of deep learning in different areas of natural language processing, this appears to be the right foundation to power search conversationalization. Tuukka Ruotsalohttp://augmentedresearch.hiit.fi/
Crowdsourced natural language training data for machine learningNatural language user interfaces (e.g. chatbots) allow the user to simply talk to the computer, much like they would to another person. To use machine learning for building a natural language UI requires usually very large amounts of training data. This training data consists of pairs of utterances in natural language, and their "meaning", e.g. some user interface action. Generating such training data for specialised applications is challenging, because in the absence of a working system it is often difficult to predict in advance what kind of language the users will use. The objective of this project is to study the use of crowdsourcing techniques, for example "games with a purpose" for collecting such training data without implementing the, possibly costly, final user interface.Antti Ukkonenhttp://dx.doi.org/10.1145/1378704.1378719
Testing and debugging constraint optimization solvers

See topic description above under "Algorithms" specialization.

This topic is suited for both algorithms and software systems students.

Matti Järvisalo
Transforming business-level policies to monitoring rules

 Inter-enterprise collaborations are governed by eContracts that define what are the required business processes between partners, what business services each partner provides, and especially, what are the nonfunctional properties required in the collaboration. The nonfunctional properties traditionally involve technical quality of service levels, but when enhanced to business area, interesting examples include nonfunctional properties capture trust, privacy, transactionality of interactions, and dependability of service. 

The collaborations can be controlled through eContracts and enterprises' local policies. Technically, the automated control is performed by low-level monitors. From administrative perspective, the policy rules must be declared using a high-level language - or rather, a family of languages working together. 

The goal of this thesis is to a) select a small set of languages fitting together and b) implementing transformation tools to translate these administrator designed rules to a low-level language run by the monitors.

Lea Kutvonen
Performance optimization on big data platform

A cloud-hosted application is expected to support millions of end users with terabytes of data. To accommodate such large-scale workloads, it is common to deploy thousands of servers in one data center. Meanwhile, existing big data platforms (e.g., Hadoop or Spark) employ naive scheduling algorithms, which consider neither heterogeneity of resources nor differences of jobs. This motivates a more advanced scheduling scheme and performance optimization algorithms in big data environments.


The goal of this thesis is to a) understand the main scheduling algorithms on Hadoop and Spark; and b) to implement performance optimization tools to improve the performance of the systems.

Jiaheng Luhttp://udbms.cs.helsinki.fi/?projects/hetePlatformAAwe
Artifact Recognition Based on Images Captured by Vision System in Autonomous ships or harbour

Cameras are used in state-of-the-art autonomous systems in order to get detailed information of the environment. However, when cameras are used outdoors they easily get dirty or scratches on the lens which leads to image artifacts that can deteriorate a system's performance. Work has been done on how to detect and cope with specific artifacts, such as raindrops.

A thesis project could apply known methods of weather recognition or artifact recognition to a repository of maritime images and review and compare different approaches. Can be extended to include the thermal images in the repository.

Samu Varjonen, Francois Christophe

...