I am an Assistant Professor (eq. UK: Lecturer) in Cyber Security at the University of Manchester, where I lead the Formal Methods Engineering Lab. I completed my Ph.D. and PostDoc at ETH Zurich, and before that, my MSc at the University of Freiburg in Germany. I also did research internships at the Automated Reasoning Group at AWS and at IBM Research in the United States.
My research goal is best characterized as Formal Methods Engineering: making Formal Methods—mathematically rigorous methods for bug prevention—more practical, widely adopted, and resilient against AI.
As a first step, I led one of the largest academic bug-hunting campaigns to date, uncovering over 1,800 bugs and enabling more than 1,300 fixes in SMT solvers, which are foundational tools in Formal Methods.
Teaching
- COMP38412 Cybersecurity: Principles and Secure Software Systems, 2026-2027 (Unit Lead)
- COMP63342 Software Security, Spring 2026 (Co-teaching)
- COMP23311 Software Engineering, Fall 2025 (Co-teaching)
Team
-
Lu Maltsis (Ph.D. student, Jan 2026 – )
- Co-supervisor: Lucas Cordeiro
-
Kareem Seifo (Ph.D. student, Oct 2026 – )
- Co-supervisor: Suzanne Embury
- Andrei Zhukov (external MSc. thesis, completed Mar 2026)
Research Projects
CAST
Commit-Aware Solver Testing (CAST) continuously tests SMT solvers: every new commit is automatically built and fuzzed against a reference solver, so bugs are caught as soon as they’re introduced rather than long after the fact. The goal of CAST is to make continuous, automated bug-hunting a routine part of maintaining an SMT solver, turning testing from an occasional effort into an always-on safety net.
Enumerative Testing
The enumerative testing framework ET exhaustively enumerates test cases based on a context-free grammar. It will generate small test cases first exploiting the small-scope hypothesis which states that “most bugs in software trigger on small inputs”. Testing with small test cases has many unique benefits: tiny bug triggers, bounded guarantees, the ability to measure the evolution of a software.
Project Yin-Yang for SMT Solver Testing
Satisfiability Modulo Theory (SMT) solvers are foundational tools for many subareas of computer science, including formal verification, programming languages, and software engineering. Their reliability and robustness are crucial, especially for the safety-critical domains. However, effectively validating SMT solvers has been a longstanding challenge. The goal of Project Yin-Yang is to develop novel, effective, practical methods and techniques to help make SMT solvers more reliable, powerful, and usable.
Selected Publications
-
Validating SMT Solvers for Correctness and Performance via Grammar-based Enumeration
Dominik Winterer, Zhendong Su
In Proceedings of SPLASH/OOPSLA 2024⭐ Bounded Validation of the SMT Solvers Z3 and cvc5 -
Finding and Understanding Incompleteness Bugs in SMT Solvers
Mauro Bringolf, Dominik Winterer, Zhendong Su
In Proceedings of ASE 2022 [slides / tool] -
Generative Type-Aware Mutation for Testing SMT Solvers

Jiwon Park*, Dominik Winterer*, Chengyu Zhang, Zhendong Su
In Proceedings of SPLASH/OOPSLA 2021 [slides / video abstract]
* Both authors contributed equally. -
On the Unusual Effectiveness of Type-Aware Mutations for Testing SMT Solvers
Dominik Winterer*, Chengyu Zhang*, Zhendong Su
In Proceedings of SPLASH/OOPSLA 2020 [slides / video abstract]
* Both authors contributed equally.⭐ 1,000+ bugs in the SMT Solvers Z3 and CVC4 -
Validating SMT Solvers via Semantic Fusion
Dominik Winterer*, Chengyu Zhang*, Zhendong Su
In Proceedings of PLDI 2020 [slides / video abstract]
* Both authors contributed equally.🏆 ACM Distinguished Paper Award ⭐ Invited to ACM TOPLAS Special Issue
Awards and Grants
- Heidelberg Laureate Forum 2022
- Amazon Research Award Fall 2021 (Co-I)
- Google Open Source Peers Bonus 2021 (for yinyang)
- Invited to ACM TOPLAS Special Issue
- ACM Distinguished Paper Award (PLDI '20)
- IJCAI '16 Travel Grant Award
Invited Talks
-
Formal Methods and Beyond: Finding and Fixing Bugs Through Domain-Specific Techniques
TU Nuremberg, May 2026 -
Formal Methods Engineering: Toward Reliable Software Engineering
Cornell & UT Austin SE Seminar (virtual), Dec 2025
MPI-SP Sparkling Series, Apr 2025
USI Lugano Software Seminar Series, Feb 2025
UC Riverside (faculty interview), Jan 2025 -
Solidifying SMT Solvers through Automated Testing Techniques
Harvard PL Seminar, Mar 2024
UPenn, PLClub, Feb 2024
UC Berkeley, Programming Systems Seminar, Jan 2024 -
Directed Testing of a String Solver
Amazon Webservices, Feb 2024 -
Finding 1,700+ Bugs in the SMT Solvers Z3 and CVC5
UCSC LSD Seminar (virtual), Feb 2023
USC Software Seminar (virtual), Nov 2022
KIT Research Seminar Formal Methods, Sep 2022
Paderborn University, Jun 2022
CEA List at Paris Saclay (virtual), Feb 2021
Service
- Student Research Competition Co-Chair: ASE '26
- Artifact Evaluation Co-Chair: ISSTA 2024
- Co-organizer of SMT-COMP (2025 – 2027)
- Program Committee Member: FSE '27, ICSE '27, OOPSLA '27, Euro S&P '26, PLDI '26, ASE '25, CAV '25, FUZZING '25, ICSE '24 (Demo track), OOPSLA '24 SRC, MET '23, SYNASC '22, AAAI '21, AAAI '20
- Journal Reviewer: TSE '21, JAIR '17, TOSEM '24
- Artifact Evaluation Committee Member: PLDI '22, POPL '21, ISSTA '21
- Reviewer/Judge Student Research Competition: OOPSLA '21
- SIGPLAN-M Longterm mentoring (Oct 2021 – )