Politecnico di Torino
Politecnico di Torino
   
Login  
en
Politecnico di Torino
Anno Accademico 2009/10
02JAEIU
Verifica formale del software e dei sistemi concorrenti e distribuiti
Dottorato di ricerca in Ingegneria Informatica E Dei Sistemi - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Sisto Riccardo ORARIO RICEVIMENTO PO ING-INF/05 20 0 0 0 7
SSD CFU Attivita' formative Ambiti disciplinari
*** N/A ***    
Obiettivi dell'insegnamento
Finalitą del corso:
La verifica formale riveste un ruolo importante nel ciclo di sviluppo di diverse categorie di software e sistemi (in particolare quelli safety-critical) e rappresenta anche un utile strumento per il ricercatore che voglia, per esempio, dimostrare la correttezza di nuovi protocolli o algoritmi.
Il corso si propone di illustrare le principali tecniche di verifica formale, con particolare riferimento a quelle relative al software e ai sistemi concorrenti e distribuiti. Il corso intende affrontare questo tema soprattutto dal punto di vista dell'utilizzatore, fornendo gli elementi fondamentali necessari per comprendere le potenzialitą e i limiti delle varie tecniche. Per questo motivo, verrą data particolare enfasi agli strumenti che implementano o supportano le tecniche di verifica.

Aims of course:
Formal verification plays an important role in the development cycle of several classes of software and systems (in particular the safety-critical ones) and also represents a useful tool for the researcher who wants, for example, prove the correctness of new protocols and algorithms.
The course aims at illustrating the main formal verification techniques, with particular reference to those for concurrent and distributed software and systems. The course will address this topic mainly from the user point of view, giving the fundamental elements needed for understanding the potentiality and limitations of the various techniques. For this reason, particular emphasis will be given to the tools that implement or support the various techniques.
Programma
Programma del corso:
1. I metodi formali e il loro ruolo nello sviluppo del software e dei sistemi: classificazione e caratteristiche dei metodi formali, loro ambiti applicativi, loro inserimento nel ciclo di sviluppo, esempi di standard di riferimento.
2. Le tecniche di verifica formale: logiche temporali, theorem proving, model checking, tecniche di astrazione e composizionali.
3. La verifica formale in pratica: strumenti di verifica, esempi di strumenti general-purpose (Spin).
4. Esempi di tecniche e strumenti di verifica per ambiti specifici: verifica formale a livello di codice sorgente, verifica formale delle proprietą di security e dei protocolli crittografici.

Course contents:
1. Formal methods and their role in software and system lifecycles: classification and characterization of formal methods, their applications, their integration in lifecycles, standard examples.
2. Formal verification techniques: temporal logics, theorem proving, model checking, abstraction and compositional techniques
3. Formal verification in practice: verification tools, general-purpose tool examples (Spin)
4. Examples of verification techniques and tools for special domains: source code verification, formal verification of security properties and cryptographic protocols.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2009/10
Indietro



© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)
Contatti