Software Verification
Lyon, January 9-12, 2012
This school aims at providing a survey of the state-of-the-art software verification techniques and their challenges.
It is part of the Master of Computer Science at ENS-Lyon, but is open to anyone.
Registration is mandatory but free of charge by visiting http://www.ens-lyon.fr/DI/?page_id=2365. Travel, accomodation and expenses are at the charge of the participants.
All the lectures are in Amphi F of ENS-Lyon, located at the 1st floor (rez-de-chaussée). You will have to present an ID to access the building.
|
Monday 09/01/2012 |
Tuesday 10/01/2012 |
Wednesday 11/01/2012 |
Thursday 12/01/2012 |
---|---|---|---|---|
|
9h – 12h |
9h – 12h |
9h – 12h |
9h –
12h |
|
14h –
17h |
14h –
17h |
14h –
17h |
14h –
17h |
Abstract Interpretation
We will show how tools for software verification such as SMT solver and theorem prover based verfiers (where the inductive argument necessary for the proof is either provided by the end-user or by refinement of the specification such as code contracts) or static analyzers (where the inductive argument necessary for the proof is computed directly (e.g. by elimination) or iteratively with convergence acceleration by widening/narrowing) can be constructed by systematic abstraction of their transition-based or structural operational semantics thus leading to verified verification tools. As an application, we will consider the construction of static analyzers for proving program safety properties. Examples such as ASTRÉE will be rapidly overviewed.Automata-Theoretic Model Checking of Reactive Systems
Click here and there to get the slides
Objectives:
Many major hardware (Intel, IBM) and software (Microsoft) companies are now using the technique of Model Checking in practice. Examples of its use include the verification of VLSI circuits, communication protocols, software device drivers, real-time embedded systems, and security algorithms. The works of A. Pnueli, E. Clarke, E.A Emerson and J. Sifakis on algorithmic verification of systems using the Model Checking has been awarded the 1996 and 2007 Turing awards. The basis of this work is the relation of logic with automata theory, which was introduced by the seminal works of Buechi (1960) and Rabin (1969). This course is intended to introduce the student to the theory and applications of Model Checking.
Syllabus:
Méthodes de Test du Logiciel
Buts:
Dresser un panorama des méthodes actuelles du test de logiciel, notamment donner des repères pour se retrouver dans la terminologie abondante du domaine ; montrer ce qui est facilement automatisable à l'heure actuelle (état de la technique); montrer quelques méthodes avancées d'automatisation du test (état de l'art).
Nous nous attacherons à bien distinguer le cas des systèmes embarqués de celui de programmes plus standards, et à distinguer les procédures de test réalisées dans un cadre de certification (systèmes critiques) des procédures de test usuelles.
Points abordés :
Mechanized semantics with applications to compiler verification
Click here to get the supports (slides and programs)
Abstract
The goal of this lecture is to show how modern theorem provers -- I use the Coq proof assistant -- can be used to mechanize the specification of programming languages and their semantics, and to reason over individual programs as well as over generic program transformations, as typically found in compilers.
The topics covered include: