Université du Luxembourg

Université du Luxembourg

Université de Liège

Université de Liège

Inria

Inria

Max-Planck-Institut für Informatik

Max-Planck-Institut für Informatik

Summer School on Verification Technology, Systems & Applications 2025

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.

Application

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

Registration will be open to accepted applicants starting on July 17, 2025.

Program

Schedule

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.

Lecturer(s)

Rayna Dimitrova
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
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
Calvin Loncaric

Practical TLA+ for Concurrent and Distributed Systems

TBD

Stephan Merz
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
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.

Accommodation

tbd

Arrival / Directions

The Summer School 2025 will take place at University of Liège, Sart-Tilman Campus, room R.7.

Organization and Contact

General Organization

Local Organization

Website

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.

Important Dates

Application Deadline: 2025/07/10
Notification until: 2025/07/16
Summer School: 2025/09/01 - 2025/09/05
(Format is YYYY/MM/DD)

Université de Liège

Université de Liège

Université du Luxembourg

Université du Luxembourg

Department of Computer Science

University of Luxembourg - Department of Computer Science

Interdisciplinary Centre for Security, Reliability and Trust

Interdisciplinary Centre for Security, Reliability and Trust

Inria

Inria

Max Planck Institute for Informatics

Max Planck Institute for Informatics

TLA+ Foundation

TLA+ Foundation