Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
2° Anno Attivato nell'A.A. 2022/2023
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
4 insegnamenti a scelta
2 insegnamenti a scelta (A.A. 2022/23 Quantum computing non erogato)
3 insegnamenti a scelta (A.A. 2022/23 Quantum computing non erogato)
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Fondamenti di analisi e verifica del software (2021/2022)
Codice insegnamento
4S008901
Docente
Coordinatore
Crediti
6
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Periodo
Primo semestre dal 4 ott 2021 al 28 gen 2022.
Obiettivi formativi
Obiettivo del corso è quello di fornire gli strumenti base per la comprensione, la progettazione e l'utilizzo di strumenti di analisi di sistemi informatici al fine di verificare proprietà e/o estrarre funzionalità dei sistemi sotto analisi. Nel contesto del CdS, il corso fornisce quindi conoscenze di contesto e competenze di base al fine di analizzare sistemi software sia dal punto di vista di chi deve certificare proprietà desiderabili (in fase di sviluppo) che dal punto di vista di chi deve comprendere le funzionalità di un software sconosciuto (reverse engineering). Al termine dell’insegnamento lo studente dovrà essere in grado di dimostrare conoscenze e capacità di comprensione che consentono di elaborare e/o applicare idee originali nell’ambito dell’analisi e verifica di programmi, anche in contesti di ricerca; risolvere problemi di analisi e verifica di programmi in ambiti nuovi o non familiari, inseriti in contesti più ampi (o interdisciplinari) connessi al loro settore di studio; approfondire e ricercare materiale di studio riguardante temi avanzati di analisi e verifica di programmi in un modo auto-gestito o autonomo.
Programma
Introduzione all'analisi e alla verifica di programmi.
Analisi statica: Data-flow analisi su CFG, Analisi statica basata sulla semantica (Interpretazione astratta), analisi numeriche, analisi di alias e inter-procedurali (cenni).
Analisi dinamiche: Basi formali del testing, Monitoring.
Verifica: Model checking
Slicing: Tecnica di trasformazione di programmi per l'analisi e la verifica.
Bibliografia
Modalità d'esame
L'esame sarà strutturato in due parti e può essere espletato in due modi:
- Scritto + Progetto su argomenti di analisi
- Scritto + Orale (obbligatorio sopra il 26)
L'esame scritto ha l'obiettivo di verificare una sufficiente acquisizione e comprensione dei concetti presentati nel corso.
Il progetto ha l'obiettivo di verificare la capacità di acquisire materiale di studio e di rielaborare autonomamente i concetti presentati durante il corso.
L'esame orale ha l'obiettivo di verificare una acquisizione ed una comprensione avanzata dei concetti studiati, con capacità di rielaborazione degli stessi.
In particolare:
Scritto: Insieme domande per valutare la preparazione dello studente sull'intero programma del corso.
- Progetto/approfondimento fatto da gruppi di massimo due persone il cui argomento può essere anche proposto al docente da parte del gruppo stesso. Tale progetto dovrà essere completato con una relazione scritta che verrà presentata in forma orale (con slide).
- Orale: Domande orali sull'intero programma del corso, in caso di voto superiore a 26/30 allo scritto, l'orale diventa obbligatorio, altrimenti si può registrare massimo un 26.