PhD Fellow · Aalborg University

Michal Šedý

Small, fast automata for pattern matching and verification

I am a PhD fellow at the Department of Computer Science, Aalborg University, supervised by Kim Guldstrand Larsen and Lukáš Holík, as part of the VILLUM Investigator project S4OS.

I got into finite automata during my bachelor's in Brno and never really left. I like them for a simple reason: you can draw them on a whiteboard, reason about them, and run them fast. Most of what I have done since is make them smaller without changing what they do. Now I am working on timed automata. They are just as easy to draw, but matching patterns with them is much slower, and I am trying to change that.

I stayed in Brno for my MSc, and alongside my studies I spent five years as a research assistant in the VeriFIT and Automata@FIT groups. I enjoy building tools as much as doing theory, so I am still one of the core developers of Mata, our automata library.

Research

  • 01 · Current focus

    Timed pattern matching

    Timed patterns show up wherever events carry timestamps: two heartbeats too close together, a temperature outside its range for too long, two operating modes overlapping. What makes matching them hard is that the same event may extend a match already in progress, start a new one, or just be noise. This nondeterminism forces a matcher to keep many candidate matches alive at once, each with its own timing. I am developing a deterministic approach, so that TimeRex, the matching engine I am building, will need to follow only a single path through the pattern’s automaton.

  • 02

    Automata reduction

    When pattern matching runs on an FPGA, the size of the automaton is often the main bottleneck. Large automata tend to contain the same sub-structure many times over. I fold these repeats into a single procedure, much like turning copy-pasted code into a function. This makes automata up to 70% smaller, even ones already reduced by advanced minimisation.

    NFM 2025

  • 03

    String constraint solving

    Almost every program handles strings, and verifying such programs means solving constraints over them. Operations like replaceAll relate an input string to an output string and can be modelled with transducers, automata that read one string and write another. To let the solver Z3-Noodler handle them, I developed transducer support in Mata, the automata library it is built on. With it, Z3-Noodler’s stabilisation-based method extends to these constraints, solving more instances than existing solvers and running orders of magnitude faster.

    CAV 2026

News

  1. String Solving with Stabilization and Transducers appears at CAV 2026 in Lisbon, part of FLoC 2026.

  2. Automata Size Reduction by Procedure Finding appears at NFM 2025 in Williamsburg, VA.

  3. Started my PhD at Aalborg University.

Publications

Also on DBLP and Google Scholar.

Conference papers

CAV2026

String Solving with Stabilization and Transducers

David Chocholatý, Vojtěch Havlena, Lukáš Holík, Juraj Síč, Michal Šedý

Computer Aided Verification (CAV 2026), LNCS 16683, pp. 50–74, Springer · Lisbon, Portugal

PDF arXiv DOI
NFM2025

Automata Size Reduction by Procedure Finding

Michal Šedý, Lukáš Holík

NASA Formal Methods (NFM 2025), LNCS 15682, pp. 421–440, Springer · Williamsburg, VA, USA

PDF arXiv DOI

Theses

Software

More on GitHub.

MaMONAta

Author

Bridging Mata and MONA

Adapter between the automata libraries Mata and MONA: conversions between their automata, transparent performance comparison, and multi-terminal ROBDDs.

  • C++

Interactive benchmark explorer

In-browser viewer for Google Benchmark JSON output: grouping, charting, and comparing two runs side by side.

  • JavaScript

Teaching & Service

Teaching

Service

  • CAV’26

    Artifact Evaluation Committee member · Computer Aided Verification

  • RP’26

    Subreviewer · International Conference on Reachability Problems

  • TACAS’26

    Subreviewer · Tools and Algorithms for the Construction and Analysis of Systems