We focus on projects related to operating systems (after all, HelenOS started on our faculty), compilers, middleware, dynamic program analysis or system emulators (such as MSIM that you know from Operating systems course).
To give a bit more context on what we work on, here are some of our existing projects that can be extended as part of your individual software project, research project or your diploma thesis.
HelenOS
HelenOS is a portable microkernel-based multiserver operating system designed and implemented from scratch.
It is a great platform for experimenting with kernel as well as userspace code and has much lower entry barrier than mainstream operating systems. But it is still a large enough system to not be considered a toy :-).
Among past successful projects there were for example Support C++ runtime, IPv6 support or Linux syscall emulation layer.
MSIM
MSIM is a light-weight computer simulator based on MIPS R4000 and RISC-V.
It boasts clean and simple design and is open for extensions: both on the side of adding a new architecture or adding a new emulated peripheral.
A recently defended thesis added support for RISC-V IMA architecture.
DiSL
DiSL and ShadowVM is a domain-specific language for Java bytecode instrumentation. Unlike traditional aspect-oriented-programming it features an open join point model where any region of bytecodes can be selected as a join point: place, where code can be instrumented. Furthermore, DiSL does not restrict how the instrumentation can look like and is thus a perfect tool for low level modifications of byte code, e.g. for tracing data paths or for selective performance measurements.
Among past projects our student worked on better integration and usability of DiSL.
Project ideas (discussion starting points)
Nothing is set in stone: talk to us and we will tailor the topic to your skills, knowledge and interests.