Topic areas for student projects and theses

Looking for a project or a thesis?

Interested in a software project topic, research project topic, or a thesis topic?

Have a look at our topic areas below and follow those that interest you. Or just contact us: we will tailor the assignments to your skills and interests. Also, do not hesitate to contact us if you have your own idea for a topic that seems related.

Research Areas

Benchmarking and Performance Evaluation

We like to measure how fast software is. And why it is getting slower compared to the previous release.

We work on automating the detection of performance regressions, we develop the Renaissance benchmarking suite and have 10 years of performance data collected when measuring the GraalVM compiler.

Contact: Lubomír Bulej, Vojtěch Horký, Petr Tůma

I want to know more!

Cooperation with industry

We can arrange external supervision for theses and projects related to specific industrial-driven products. In this respect we cooperate with companies such as JetBrains, IBM, Oracle, RedHat, SUSE or SysGo.

I want to know more!

Dynamic Smart Systems

The design and development of Smart Cyber-physical Systems (sCPS) and IoT are challenging due to the need for dependability, adaptability, and operation in dynamic environments. These systems must often perform decentralized coordination and adaptation, adding complexity. To address this, we use multiple techniques, including also state-of-the-art ML-driven methods, to enable smart cooperation and self-adaptation.

Contact: Tomáš Bureš, Petr Hnětynka

I want to know more!

Extreme Experimentations

We aim to design new data analytics approaches centered on experimentation and user feedback, providing precise, trustworthy insights for complex decision-making processes. It integrates advanced technologies like machine learning, big data, and explainable AI to personalize outcomes and optimize resources. The focus is on improving critical applications and real-time decision support by aligning analytics workflows with user-specific requirements.

Contact: Tomáš Bureš, Petr Hnětynka

I want to know more!

High Performance and Parallel Computing

Speed is an essential software attribute in many domains. Faster programs allow us to get the results sooner or process larger datasets within the allotted time. Speed is also key to more power-efficient (thus more ecologically sound) computing. Our projects focus on improving performance via code optimizations, parallel processing, and utilization of specialized hardware (like GPUs). That involves a deep understanding of the utilized hardware as well as programming languages and compilers.

Contact: Martin Kruliš

I want to know more!

Program Verification

Applying formal methods, such as code model checking and static analysis, to programs before they are deployed is an important mean to achieve their correctness, or error freedom. We develop and improve both underlying techniques – formalisms and algorithms – and verification tools.

Interested in trying how to verify programs instead of just testing them?

Contact: Jan Kofroň, Pavel Parízek

I want to know more!

Programming Languages and Systems

Programming has a rich history and knows no limitations! Join us not only to make existing programming tools better, but also to envision new ways of constructing programs and explore the rich history of the discipline!

Our project ideas cover topics such as type systems, but also interactive programming environments or programming in the context of data science.

Contact: Tomáš Petříček, Joel Jakubovic, Aleks Boruch-Gruszecki, Jan Vitek

I want to know more!

Systems (a.k.a. lower levels of the software stack)

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).

Contact: Lubomír Bulej, Vojtěch Horký, Petr Tůma

I want to know more!