@students: looking for a Master's thesis project?
Note: while this post has been created in 2020, it is regularly updated.
Are you looking for a Master's thesis project? If you want to do it in the field of software engineering and/or distributed systems, contact Helmut. See my research areas for topics where I can make suggestions concerning projects. If you are interested in other topics than my research area, we can discuss this as well.
Currently, I have funding for a Master's thesis project in aspect-orientation for software testing.
Some other possible topics are:
- Running large language AI models (LLM) locally: for privacy reasons, you do not want to sent your code to some LLM in the cloud or send your email where AI shall speed up answering to the cloud. However, there exist scaled down LLMs that run locally, even without a GPU, but just a CPI, e.g. Gemma. A thesis topic could be to create a Gemma-plugin for a mail client, such as Thunderbird, or for an IDE, such as Eclipse.
- AI for creating test cases. Evaluate how good AI tools are for creating test cases, e.g. https://codecept.io/ai. shows an evaluation./
- Standard methods for designing test cases are surprisingly lacking tool support. A thesis could create support for black-box test design techniques, such as equivalence class partitioning and boundary value analysis, e.g. create all combinations of test input data, e.g. for JUnit test cases (either let a tool generate many test cases or develop a JUnit annotation where the equivalence classes are described and that then internally runs all possible combinations as tes cases). Also using cause-effect graphs and decision tables can be easily automated by tool support.
- LoRa is a long-range, low-power (but also low-bandwidth) wireless communication suitable for IoT, such as transmitting sensor data. Various research in the field of distributed systems/wireless networking/IoT is possible using LoRa. This could include connecting to LoRa satellites, distributing GPS corrections data, e.g., for precise navigation of autonomous vessels, or the next topic shown below.
In 2022, I am looking for students working in the project Communication with buoys using LoRa. - Delay-tolerant opportunistic networking in an Icelandic context: in areas without mobile phone coverage, mobile devices can still communicate via WiFi or bluetooth and since they are mobile they can carry-on and buffer received data until another mobile device is met, i.e. hop-by-hop communication involving mobility of nodes and buffering of data. Possible implementation targets would be ESP8266 and Android or iOS. Combining with LoRaWAN might also be considered, e.g. using The Things Network or adding own stations. Long term goal would be to have this integrated into the 112 Iceland app (together with Esa Hyytiä and Ingólfur Hjörleifsson)
- Refactoring for LaTeX. While LaTeX is for text processing, it is at the same time almost like a programming language and therefore, refactorings are desirable (e.g. renaming an internal label and all references to it, pushing down sections into subsections / pulling up subsections into sections, adding columns to a table, replacing double quotes by typographic quotes, replacing spaces by non-breaking spaces in front of references, adjusting space following abbreviations where LaTeX thinks the dot is a fullstop, changing BibTeX entry types from one into another). These refactorings shall be implemented and added to some open-source LaTeX editing environment.
- Machine learning and Software Engineering: either work on how to, e.g., test machine learning software or how to use machine learning in Software Engineering, e.g. use machine learning to support software testing
- Developing concepts for testing High-Performance Computing (HPC) code (e.g. how to use the Google Test framework to test HPC C++ code)
- Developing and implementing refactoring concepts for High-Performance Computing (HPC) C++ code and the Eclipse CDT C/C++ IDE
- Enabling big data processing of scientific file formats: the HDF5 binary file format used in sciences cannot be processed out of the box by the text-based big data approaches: An Apache Spark RDD/Hadoop MapReduce input format for HDF5 files that takes locality of the HDFS distributed file-system into account
- Performance modelling (together with Esa Hyytiä) of big data systems (=local storage) in comparison to high-performance computing systems (=central storage)
- Migrating Eclipse IDE functionality to an Xtext-based model-based IDE.
- Model-based (Eclipse modeling tools) generation of TTCN-3 test case skeletons from TPlan test purpose descriptions.
- Model-based (Eclipse Xtext + possibly suitable model transformation ) refactoring of TTCN-3 source code.
- Traceability between requirements and UML models (connecting Eclipse ProR and Eclipse Papyrus tools using OSLC technology)
- Generation of Jata-based Java test cases from TTCN-3 source code (=TTCN-3 to Jata compiler).
- Model-based (Eclipse modeling tools) refactoring of UML models and diagrams.
- Aspect-oriented testing: develop an aspect-oriented language extension for the test language TTCN-3