The summer school on verification technology, systems & applications takes place at the University of Liège, Sart-Tilman Campus, Montefiore Institute B28 from September 1 - September 5, 2025. We believe that all three aspects verification technology, systems & applications strongly depend on each other and that progress in the area of formal analysis and verification can only be made if all three aspects are considered as a whole. Our five speakers Rayna Dimitrova, Matthias Heizmann, Calvin Loncaric, Stephan Merz, and Martin Suda stand for this view in that they represent and will present a particular verification technology and its implementation in a system in order to successfully apply the approach to real world verification problems.
The number of participants in the school is limited to 40. We expect participants to hold a bachelor (or higher) degree in computer science (or equivalent) and to have basic knowledge in propositional and first-order logic.
The summer school is free of charge. It includes the lectures, daily coffee breaks and lunches and a school dinner. Participants take travel, accommodation and daily living costs on their own. Recommendations on hotels can be found below.
Please apply electronically by sending an email to Jennifer Müller including
by July 10, 2025. Notifications on acceptance/rejection will be given by July 16,2025.
Registration will be open to accepted applicants starting on July 17, 2025.
All lectures take place in room R.7 at the Montefiore Institute (B28), Sart-Tilman, University of Liège.
Sep 1 Monday |
Sep 2 Tuesday |
Sep 3 Wednesday |
Sep 4 Thursday |
Sep 5 Friday |
|
---|---|---|---|---|---|
8.00 | Registration | ||||
8.45 | Welcome | ||||
9.00-12.30 | TBD
|
TBD
|
TBD
|
TBD
|
TBD
|
12.30-14.00 | Lunch break | ||||
14.00-17.30 | TBD
|
TBD
|
TBD
|
TBD
|
|
17:30-18:30 | Student Sessions | Student Sessions | |||
Evening | Get-Together (19:30) | School Dinner (19:00) | Student Session (17:30) |
Note: The Student sessions give all participants the opportunity to discuss their PhD/Master topics with the speakers, the organizers and further senior researchers. The topic can be introduced by a short talk (10-15 minutes) and/or a poster. We encourage the participants to contribute to the student sessions. They are a great opportunity to discuss interesting topics with world leading experts in a relaxed atmosphere.
Rayna Dimitrova![]() |
Synthesis of Infinite-State Reactive Systems Reactive synthesis is the automatic construction of reactive systems from high-level formal specifications, guaranteeing correctness by design. Reactive systems continuously interact with potentially adversarial environments—examples include software controllers for robotic platforms or embedded systems. Many real-world applications involve infinite-state models due to the presence of unbounded data types such as integers. This makes the synthesis problem undecidable in general and highly challenging in practice. In this course, we will explore the theoretical foundations and state-of-the-art techniques for the synthesis of reactive systems over infinite data domains. We will introduce specification formalisms based on temporal logics and two-player games, and discuss the subtleties involved in writing specifications that accurately reflect the designer's intent. There are two prominent classes of approaches to the synthesis of infinite-state reactive systems. Abstraction-based methods abstract the synthesis problem to a finite-state one, to which classical techniques apply. Constraint-based techniques, on the other hand, work directly on a symbolic representation of the infinite-state problem. Our focus will be on the second class -- constraint-based techniques -- with particular attention to recently proposed techniques that integrate logical reasoning into the reactive synthesis procedures. The course includes hands-on exercises in writing specifications and applying the open-source tool Issy (https://github.com/phheim/issy).
|
Matthias Heizmann![]() |
Automata-based Software Verification with the Ultimate Program Analysis Framework This lecture explores how to build automatic verification tools that check whether a given program satisfies a given specification. Unlike deductive approaches, these tools do not require programs to be annotated with loop invariants and procedure contracts, though they may not terminate due to the undecidability of the verification problem. We examine key building blocks for such tools, particularly the CEGAR (Counterexample-Guided Abstraction Refinement) approach, which works with abstractions, analyzes potential counterexamples, and learns from spurious counterexamples to refine abstractions iteratively. The lecture focuses on trace abstraction, an automata-based verification approach implemented in the Ultimate program analysis framework. Trace abstraction utilizes various types of automata—including finite automata, Büchi automata, visibly pushdown automata, and Petri nets—enabling us to check temporal properties for sequential programs and analyze safety properties for concurrent programs. Through the Ultimate framework, we demonstrate how these theoretical foundations translate into a practical verification tool that can handle real-world C programs. |
Calvin Loncaric![]() |
Practical TLA+ for Concurrent and Distributed Systems TBD
|
Stephan Merz![]() |
Introduction to TLA+ TLA+ is a language for formally describing algorithms and systems. It is based on mathematical set theory for describing the data that ana algorithm manipulates and on linear-time temporal logic for describing the executions of the algorithm. Properties of TLA+ specifications can be mechanically verified using the explicit-state model checker TLC, the symbolic model checker Apalache, and the interactive proof assistant TLAPS. In this hands-on tutorial we will introduce the language TLA+ and its support tools, discuss common specification idioms, and give hints on how to effectively verify TLA+ specifications.
|
Martin Suda![]() |
Automatic theorem proving with Vampire Vampire is an award-winning automatic theorem prover for first-order logic, including support for theories. It is based on saturation, a state-of-the-art theorem proving technology, and employs the superposition calculus for efficient support of equational reasoning. Moreover, Vampire features the AVATAR architecture for clause splitting, allowing it to offload the propositional essence of the given problem to a dedicated SAT solver. The lecture will introduce theorem proving as a prime example of an automated reasoning task and outline the basic building blocks of Vampire, from theoretical foundations to implementation tricks and heuristics. Modern machine learning techniques can be used to boost these heuristics by allowing the prover to learn from past successes. The lecture will conclude with a hands-on session using Vampire, showcasing both its main functionalities and lesser-known features.
|
tbd
The Summer School 2025 will take place at University of Liège, Sart-Tilman Campus, room R.7.
For comments or questions send an email to Pascal Fontaine.
The summer school is organized by the University of Liège, the University of Luxembourg, Inria Nancy - Grand Est, and the Max Planck Institute for Informatics, Saarbrücken.
Application Deadline: | 2025/07/10 | |
---|---|---|
Notification until: | 2025/07/16 | |
Summer School: | 2025/09/01 - 2025/09/05 |