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.

Add CAN bus emulation to MSIM

The goal of this project is to add support for the automotive CAN bus so that either two MSIMs can communicate with each other or MSIM can be used to test code for car control units.

Add SuperH architecture to MSIM

The goal of this project is to add support for another architecture. The SuperH is a RISC instruction set architecture that is commonly found in automotive control units.

Port HelenOS to RISC-V

The goal of this project is to port HelenOS to RISC-V architecture and make it run on a real hardware (such as BeagleV).