====== Metodi per la Verifica del Software (A.A. 2012/13) ======
----
**Attenzione:** Il corso di MVS non sarà erogato nell'Anno Accademico 2013/14, **ma sarà erogato regolarmente nell'A.A. 2014/15**.
----
Docente: [[http://www.di.unipi.it/~andrea/|Andrea Corradini]]
^ Corso ^ Giorno ^ Ora ^ Aula ^
| Lezione | Martedì| 14-16 | C |
| Lezione | Giovedì | 14-16 | N1 B |
Ricevimento: su appuntamento via email ()
===== Materiale Didattico =====
* Slide delle lezioni, che verranno pubblicate di volta in volta.
* Christel Baier, Joost Peter Katoen, **Principles of Model Checking**, MIT Press, 2008
* Mordechai Ben-Ari, **Principles of the Spin Model Checker**, Springer, 2008
===== Lezioni =====
^ N ^ Data ^ Argomento ^ Slide ^ Altro |
| 1| 19-02-2013 | Introduzione al corso | {{:magistraleinformatica:mvs:lec1.pdf}} | {{:magistraleinformatica:mvs:01-model-checking-overview.pdf|Schema Model Checking}} |
| 2| 21-02-2013 | Sistemi di transizione, Program graphs | {{:magistraleinformatica:mvs:lec2.pdf}} | {{:magistraleinformatica:mvs:02-def-transition-system.pdf|Def. Transition System}}, {{:magistraleinformatica:mvs:03-ts-for-sequential-circuits.pdf|TS per Circuiti Sequenziali}}, {{:magistraleinformatica:mvs:04-def-program-graph.pdf|Def. Program Graph}}, {{:magistraleinformatica:mvs:05-ts-semantics-of-program-graphs.pdf|Semantica TS di Program Graphs}}, {{:magistraleinformatica:mvs:06-syntax-of-guarded-command-lang.pdf|Sintassi di GCL}} |
| 3| 28-02-2013 | Composizione parallela di sistemi, Channel systems | {{:magistraleinformatica:mvs:lec3.pdf}}, {{:magistraleinformatica:mvs:lec4.pdf}} fino a pag. 51 | {{:magistraleinformatica:mvs:07-def-interleaving-of-ts.pdf|Def. Interleaving di TS}}, {{:magistraleinformatica:mvs:08-mutual-exclusion-with-semaphore.pdf|Mutua esclusione con semaforo}}, {{:magistraleinformatica:mvs:09-peterson-algorithm.pdf|Algoritmo di Peterson}}, {{:magistraleinformatica:mvs:10-def-synchronous-message-passing.pdf|Message-passing sincrono}}, {{:magistraleinformatica:mvs:11-def-channel-system.pdf|Def. Channel System}}, {{:magistraleinformatica:mvs:12-sos-rules-asynchronous-message-passing.pdf|Regole SOS per message-passing asincrono}}, {{:magistraleinformatica:mvs:13-sos-rules-synchronous-message-passing.pdf|Regole SOS per message-passing sincrono}} |
| 4| 5-03-2013 |Alternating Bit Protocol, Composizione sincrona | {{:magistraleinformatica:mvs:lec4.pdf}} | {{:magistraleinformatica:mvs:esercizi-2013-01.pdf|Esercizi proposti}} |
| 5| 12-03-2013 |Proprietà Linear Time | {{:magistraleinformatica:mvs:lec5.pdf}} fino a pag. 159 | |
| 6| 14-03-2013 |Invariant and Safety Properties| {{:magistraleinformatica:mvs:lec5.pdf}} e {{:magistraleinformatica:mvs:lec6-safety.pdf}} | |
| 7| 19-03-2013 |Liveness Properties| {{:magistraleinformatica:mvs:lec7.pdf}} fino a pag. 44 | |
| 8| 21-03-2013 |Fairness | {{:magistraleinformatica:mvs:lec7.pdf}} | |
| 9| 26-03-2013 |Model Checking Regular Safety Properties | {{:magistraleinformatica:mvs:lec08.pdf}} | |
| 10| 28-03-2013 |Omega Regular Properties | {{:magistraleinformatica:mvs:lec09_10.pdf}} fino a pag. 179| {{:magistraleinformatica:mvs:esercizi-2013-02.pdf|Esercizi proposti}} |
| 11| 9-04-2013 | Generalized Büchi Automata, Model Checking with Büchi Automata | {{:magistraleinformatica:mvs:lec09_10.pdf}}, {{:magistraleinformatica:mvs:lec11.pdf}}| |
| 12| 11-04-2013 |Linear Time Logic | {{:magistraleinformatica:mvs:lec12_13.pdf}} fino a pag. 242 (escluso Fairness)| |
| 13| 16-04-2013 |Esercitazione| | Correzione esercizi del 28-03-2013 |
| 14| 18-04-2013 |SPIN: Introduzione all'ambiente e PROMELA| {{:magistraleinformatica:mvs:mvs-spin-01.pdf}}, {{:magistraleinformatica:mvs:mvs-spin-02.pdf}} fino a pag. 24| |
| 15| 23-04-2013 |Fairness e LTL; SPIN: Introduzione all'ambiente e PROMELA| {{:magistraleinformatica:mvs:lec12_13.pdf}}, {{:magistraleinformatica:mvs:mvs-spin-02.pdf}} fino a pag. 29|Esercizi suggeriti su SPIN/PROMELA: http://spinroot.com/spin/Man/Exercises.html |
| 16| 30-04-2013 |LTL Model Checking| {{:magistraleinformatica:mvs:lec14_15.pdf}}, escluso dimostrazione finale| |
| 17| 2-05-2013 |SPIN: Costrutti di controllo di PROMELA|{{:magistraleinformatica:mvs:mvs-spin-02.pdf}}, {{:magistraleinformatica:mvs:mvs-spin-03.pdf}}| |
| 18| 7-05-2013 |Complessità di LTL model checking | {{:magistraleinformatica:mvs:lec16.pdf|}} | |
| 19| 9-05-2013 |Specifica di proprietà in PROMELA: asserzioni, end/progress/accept states, never claims| {{:magistraleinformatica:mvs:mvs-spin-04.pdf}}, {{:magistraleinformatica:mvs:mvs-spin-2013-05.pdf}} fino a pag. 11 | |
| 20| 14-05-2013 |PROMELA: cenni su trace/notrace assertions, temporal logic patterns, LTL vs ω-regular expressions, semantica operazionale, algoritmi di ricerca, complessità |{{:magistraleinformatica:mvs:mvs-spin-2013-05.pdf}}, {{:magistraleinformatica:mvs:mvs-spin-2013-06.pdf}} |Semantica operazionale di Promela: {{:magistraleinformatica:mvs:caltech14.pdf|}}. **NB:** aggiunti lucidi con nuova sintassi per LTL, da Spin v6, e possibilità di inserire formule LTL inline, senza generare never-claims (vedi MVS-05 p. 17, 18 e 25) |
| 21| 16-05-2013 |Esercitazione su PROMELA e SPIN | | |
| 22| 21-05-2013 | Lezione di [[http://www.albertolluch.com/|Alberto Lluch Lafuente]] | {{:magistraleinformatica:mvs:mvs-spin-2013-07-optimization.pdf|}} | Lucidi di Holzmann su Model Extraction da C code {{:magistraleinformatica:mvs:caltech18.ppt|caltech18.ppt}}. http://spinroot.com/modex/ |
| 23| 23-05-2013 | Overview su CTL e CTL*, Presentazione progetto | {{:magistraleinformatica:mvs:lec17-ctl-ctlstar-summary-2013.pdf|}} | |
===== Anni precedenti =====
**[[.:year2010:start|Anno Accademico 2010/11]]**