Fields of inquiry

Program Synthesis

Automatically generating programs from specifications. Our group develops synthesis techniques using type-directed search, sketching, and machine learning to produce provably correct code fragments.

Equality Saturation

A technique for program optimisation that explores the entire space of equivalent programs simultaneously. ANF researchers have contributed foundational theoretical results and practical tools for e-graph-based rewriting.

E-Graphs

Compact data structures that efficiently represent large equivalence classes of expressions. Our work extends classical e-graph algorithms to support recursive and higher-order language constructs.

Static Analysis

Analysing programs without executing them to find bugs, security vulnerabilities, and performance bottlenecks. We develop scalable analyses for industrial-size codebases.

Abstract Interpretation

A mathematical framework for approximating program semantics. Rector Zielińska's group pioneered its application to concurrent systems, enabling verification of multi-threaded programs.

Smart Contract Verification

Formally proving that blockchain smart contracts behave as intended. Our Solidity verification framework has been used to audit contracts holding over €2 billion in value.

Automated Program Repair

Automatically finding and fixing bugs in source code. Our techniques combine symbolic execution with synthesis to generate patches that are provably correct.

Type Theory

The study of type systems as a foundation for both mathematics and programming. Our researchers contribute to dependent types, linear types, and their implementation in Coq and Lean.

Proof Assistants

Software tools that help construct machine-checked proofs. We develop tactics, automation strategies, and libraries for Coq and contribute to the Lean mathematical library.

Laboratories & Groups

Our research is organised into seven laboratories, each led by a senior faculty member. Labs operate with significant autonomy, fostering deep specialisation while collaborating across disciplinary boundaries.

01
Concurrent Systems Verification Lab
Led by Prof. Małgorzata Zielińska
Abstract interpretation of concurrent and distributed programs. The lab develops theoretical frameworks and practical tools for proving safety and liveness properties of multi-threaded software and distributed consensus protocols.
Meet the Director →
02
Verified Compilers Lab
Led by Prof. Piotr Kowalski
Translation validation, compiler correctness, and verified optimisation. Extending the CompCert ecosystem to new targets including WebAssembly and RISC-V, with contributions integrated into production toolchains.
Meet the Director →
03
Program Synthesis & Rewriting Lab
Led by Dr hab. Ewa Nowicka & Dr hab. Paweł Nowak
Equality saturation, e-graph-based optimisation, and type-directed program synthesis. Home of the Wrocław e-graph research group, which has contributed foundational algorithms and the widely used rewriting frameworks.
Meet the Directors →
04
Blockchain Security Laboratory
Led by Prof. Tomasz Szymański
Formal verification and automated auditing of smart contracts. The lab maintains a private Ethereum testnet and has audited contracts securing over EUR 2 billion. Established in 2015 with Ethereum Foundation support.
Meet the Director →
05
Type Theory & Proof Assistants Lab
Led by Dr hab. Katarzyna Pawlak
Dependent types, homotopy type theory, and mechanised proof. The lab contributes tactics and libraries to Coq and Lean, and explores the use of proof assistants in verified software engineering curricula.
Meet the Director →
06
Algorithms & Complexity Group
Led by Prof. Marek Jankowski
Parameterised complexity, fixed-parameter tractable algorithms, and lower bounds. The group focuses on graph-theoretic problems that arise in program analysis and verification, connecting theory with practical tool design.
Meet the Director →
07
Centre for Constructive Mathematics
Led by Prof. Helena Wójcik
Proof theory, intuitionistic logic, and Kripke semantics. The centre studies intermediate logics and their computational interpretations, carrying forward the tradition of the Lwów–Warsaw school into modern formal methods.
Meet the Director →
08
Logic & Language Seminar
Coordinated by Dr hab. Anna Majewska
An interdisciplinary research seminar bridging formal linguistics, categorial grammar, and type-theoretic semantics. The seminar applies lambda calculus and linear logic to the analysis of natural language structure.
Meet the Coordinator →
09
Static Analysis & Program Repair Lab
Led by Dr Joanna Kamińska
Scalable static analysis for industrial codebases and automated program repair. The lab combines abstract interpretation with symbolic execution to detect and fix bugs in C, C++, and Solidity programs.
Meet the Director →

Wrocław Formal Methods Workshop

Since 2004, the Wrocław Formal Methods Workshop has been ANF's flagship academic event. Each June, 80–120 researchers from across Europe gather for three days of invited talks, contributed papers, and poster sessions. WFMW has become a key venue for presenting early-stage work in program verification, type theory, and automated reasoning, with proceedings published by Springer LNCS.

WFMW 2026 — June 15–17, Wrocław

Visit Workshop Website
WFMW Workshop

Selected publications

Efficient E-Graph Saturation for Verified Peephole Optimizations
P. Nowak, E. Nowicka, P. Kowalski
POPL 2025
A Compositional Abstract Interpretation Framework for Concurrent Smart Contracts
M. Zielińska, T. Szymański, J. Kamińska
CAV 2024
Verified Compilation of Solidity via CompCert Extensions
P. Kowalski, T. Szymański
PLDI 2024
Synthesis of Loop Invariants via Equality Saturation and Counter-Example Guided Refinement
E. Nowicka, P. Nowak
POPL 2024
Scalable Static Analysis of DeFi Protocol Interactions
J. Kamińska, T. Szymański, M. Zielińska
ICSE 2023
A Categorical Semantics for Linear Dependent Types
K. Pawlak, A. Majewska
POPL 2023
Automated Repair of Reentrancy Vulnerabilities in Ethereum Smart Contracts
T. Szymański, E. Nowicka, J. Kamińska
TOSEM 2023
Model-Theoretic Forcing and Independence Results for Higher-Order Arithmetic
A. Wiśniewski, H. Wójcik
Journal of Symbolic Logic 2022
Practical Proof-Carrying Code for WebAssembly Modules
P. Kowalski, K. Pawlak, P. Nowak
PLDI 2022
Lower Bounds for Equality Saturation via Communication Complexity
M. Jankowski, P. Nowak, E. Nowicka
POPL 2021
Formal Verification of Uniswap V3 Concentrated Liquidity Invariants
T. Szymański, J. Kamińska
CAV 2021
Abstract Interpretation of Distributed Consensus Protocols
M. Zielińska, M. Jankowski
ICSE 2020

Begin your proof

Applications for the 2026/2027 academic year are now open.

Apply Now