Corso di Laurea in Informatica - Università di Verona
Corso di
AVAS - Analisi e Verifica Automatica di Sistemi
Introduzione:
Un aspetto fondamentale della moderna
scienza dei calcolatori è quello di fornire strumenti per poter
ragionare sulle proprietà dei programmi. Le proprietà
più interessanti sono quelle legate alla semantica dei
programmi, ovvero a ciò che i programmi fanno indipendentemente
dalla loro rappresentazione in un dato linguaggio di
programmazione. Ad esempio, nei moderni sistemi distribuiti WWW
è spesso necessario assicurare un corretto e sicuro flusso di
informazioni affinchè non vengano violate privacy o venga
compromessa la sicurezza dei sistemi di elaborazione. Analogamente,
nei compilatori è importante conoscere il flusso delle
informazioni all'interno delle varie strutture del programma (ovvero
la semantica del programma) per potere trasformare questo al fine di
ottenere un programma semanticamente equivalente ma migliore in
prestazioni. Questi problemi sono risolti da strumenti largamente
utilizzati nei moderni browsers e compilatori per verificare ed
ottimizzare il codice importato dall'esterno o prodotto in fase di
compilazione. Tuttavia, la natura indecidibile dei problemi legati
alla semantica dei linguaggi di programmazione, impone una necessaria
approssimazione nella fase di analisi e verifica formale.
Nel corso vengono studiati i principali metodi formali per costruire
sistematicamente strumenti per l'analisi statica e la verifica
automatica di proprietà di programmi scritti in un linguaggio di
programmazione (qualunque esso sia) mediante tecniche di
approssimazione semantica. A partire da una semantica molto concreta
(vicina all'esecuzione reale dei programmi) di un generico linguaggio
di programmazione, verranno introdotti strumenti e tecniche per
specificare, verificare ed approssimare proprietà di programmi.
In particolare verranno affrontati i problemi di sicurezza del software
(information flow analysis, code obfuscation, software watermarking e
malware detection).
Il Corso:
Programma
Riferimenti bibliografici
Slides utilizzate e materiale collegato
Slides di Patrick Cousot
Sicurezza
Domini astratti
Protezione del Software
Alcuni puntatori collegati al corso:
Ritorna alla mia
Home Page.