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 Rust support, network packet capture or software RAID support.
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 or added a network device into MSIM.
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.
- Integration of DiSL with Maven
- NFS client for HelenOS
- RISC-V extensions in MSIM
- Smart LDAP proxy for BMC authentication
- VirtIO device for MSIM
Integration of DiSL with Maven
The goal of this project is to simplify instrumentation with DiSL. Instead of running the whole framework manually we can let the user add a maven plugin and let it handle the rest.NFS client for HelenOS
The goal of this project is to implement from scratch an NFS client for HelenOS, using its native API.RISC-V extensions in MSIM
The goal of this project is to extend MSIM to support more RISC-V extensions. This project offers several directions ranging from relatively straightforward like the B extension for bit manipulation to more open ended simulating different memory models or cache layers.Smart LDAP proxy for BMC authentication
Many BMCs (baseboard management controller, i.e. special computer for controlling server blades or whole chassis) offer LDAP authentication to simplify centralized management. However, they expect a very rigid structure of the LDAP server tree.
The goal of the project is to add a proxy that would translate the requests to support user-defined trees. It should be even more flexible than bmcldap that imposes too many restrictions on the LDAP tree organization.