I am a compiler engineer specializing in program analysis and language theory, with a particular focus on MLIR, high-level program representation, and optimization for C/C++. I am passionate about exploring and refining program transformations to enhance efficiency and usability. Currently, I serve as a Senior Research Engineer at Trail of Bits, where I lead the compilers team and act as the tech lead for several compiler-related projects. Many of these projects are open source; you can explore them further in the Projects section.
I have completed my Ph.D. at the Faculty of Informatics, Masaryk University in Brno, with my research focusing on the analysis and verification of C/C++ programs. My work centered on enhancing the efficient representation of program inputs, particularly nondeterministic data, for verification purposes. I concentrated on adapting existing techniques such as symbolic execution and abstract interpretation within the LART framework—LLVM Abstraction and Refinement Tool. This framework leverages program instrumentation and compiler tools to simplify the design of effective input data representations.
Feel free to delve deeper into my research and projects on this page, and don’t hesitate to reach out for collaboration or further discussion.
Service
I serve on several committees for conferences focused on C/C++, LLVM, and MLIR analysis and compilation:
- ISO WG21 The C++ Standrads Committee | Standards committee member
- LLVM Developers’ Meeting 2024 | Program committee
- Euro LLVM Developers’ Meeting 2024 | Program committee
- ATVA 2024 | Artifact Evaluation committee
- SV-COMP 2018 – 2022 | Jury member of software verification competition
Talks & Presentations
I have presented my work at various venues:
- C/C++ MLIR Frontends Round table orginzer
| Round table | Euro LLVM Developers’ Meeting 2024 - Repurposing LLVM analyses in MLIR: Also there and back again across the tower of IRs
| Talk | Euro LLVM Developers’ Meeting 2024 - VAST: MLIR compiler for C/C++
| Poster | Euro LLVM Developers’ Meeting 2024 - PoTATo: Points-to analysis via domain specific MLIR dialect
| Poster | Euro LLVM Developers’ Meeting 2024 - On the Optimization of Equivalent Concurrent Computations
| Talk | EGRAPHS 2022 - LART: Compiled Abstract Execution
| Talk | TACAS SV-COMP 2022 - String Abstraction for Model Checking of C Programs
| Talk | SPIN 2019 - Extending DIVINE with Symbolic Verification Using SMT
| Talk | TACAS SV-COMP 2019 - Symbolic Computation via Program Transformation
| Talk | ICTAC 2018
Teaching
I engage in teaching at university, especially in courses on:
- PB161 C++ programming,
- IB002 algorithms and data structures,
- IB111 foundations of programming,
- IB102 automata and grammars,
- PB152 operating systems,
- IV112 parallel programming.
I am a co-author of exercise books for courses on algorithms and data structures and foundations of programming.
Volunteering
I actively engage in volunteering activities for high school students and puzzlehunt competitions. As a member of the Nordic Animals Association (IT student association that organizes events for high school students), I participate in the organization of:
- KSI | a yearlong online seminar on computer science for high school students,
- K-SCUK |a weeklong camp for students interested in computer science and/or biology,
- InterLos, InterSob | puzzlehunt-like competitions.
I am also active member of Instruktori Brno, where I participate in organization of:
- TMOU | the largest puzzlehund in Czech republic.
- Civilizace | weekend camp with spirit of Sid Meyers’ Civilazation but live.
Posts
- Jun 21, 2024
- Nov 10, 2023
subscribe via RSS