Research Areas
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!
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!