ANALISI E VERIFICA DEL SOFTWARE
cod. 16434

Anno accademico 2008/09
1° anno di corso - Secondo semestre
Docente
Settore scientifico disciplinare
Informatica (INF/01)
Field
Discipline informatiche
Tipologia attività formativa
Caratterizzante
48 ore
di attività frontali
6 crediti
sede:
insegnamento
in - - -

Obiettivi formativi

<span class="datirigaalto"><span class="datirigaalto">La crescente dipendenza della società dalle applicazioni<br />
informatiche fa sí che l'analisi e la verifica della<br />
correttezza dei sistemi complessi rappresenti sempre di<br />
più un fattore critico del processo di sviluppo.<br />
Il malfunzionamento dei sistemi, siano essi hardware,<br />
software o protocolli di comunicazione, può comportare<br />
danni rilevanti di ogni genere: dalla perdita finanziaria<br />
alla perdita di vite umane. Inoltre, quando i difetti non<br />
sono rilevati prima dell'impiego del sistema,<br />
l'applicazione di eventuali misure correttive è, quando<br />
possibile, ben più difficile e costosa. Esempi dal recente<br />
passato includono il millennium bug, gli errori<br />
di alcune versioni del processore Pentium, lo<br />
scoperto da 32 miliardi di dollari alla N.Y. Bank,<br />
il fallimento iniziale del vettore Ariane 5, e<br />
gli incidenti mortali del Therac-25.<br />
<br />
Il corso intende fornire una prima introduzione alle<br />
tecniche che stanno alla base dell'analisi automatica<br />
del software e della verifica formale assistita dal<br />
calcolatore. </span></span>

Prerequisiti

- - -

Contenuti dell'insegnamento

<span class="datiriga"><span class=""datiriga"">Introduzione all'analisi e alla verifica del software.<br />
Specifiche e proprietà  di programmi.<br />
Logica di Floyd-Hoare e verifica della correttezza parziale dei programmi<br />
Correttezza totale dei programmi e analisi di terminazione.<br />
Semantica ope-razionale strutturata.<br />
Interpretazione astratta.<br />
Analisi statica di programmi.</span></span>

Programma esteso

- - -

Bibliografia

<span class="datiriga"><span class="datiriga">G. Winskel, La semantica formale dei linguaggi di programmazione, UTET, 1999;<br />
M. Gordon, Specication and Verication I (dispense), 2003.<br />
G. Plotkin, A Structural Approach to Operational Semantics.</span></span>

Metodi didattici

<span class="datirigaalto"><span class="datirigaalto">Progetto individuale o di gruppo.  In alternativa (per chi non desidera svolgere un progetto), esame orale.</span></span>

Modalità verifica apprendimento

- - -

Altre informazioni

- - -