SOFTWARE AND SYSTEM VERIFICATION-1
- Anno accademico
- 2024/2025 Programmi anni precedenti
- Titolo corso in inglese
- SOFTWARE AND SYSTEM VERIFICATION-1
- Codice insegnamento
- PHD207-1 (AF:545151 AR:311535)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 2
- Livello laurea
- Corso di Dottorato (D.M.226/2021)
- Settore scientifico disciplinare
- INF/01
- Periodo
- Annuale
- Anno corso
- 1
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
Risultati di apprendimento attesi
1) comprendere il funzionamento di base della tecnologia blockchain e dei contratti intelligenti (smart contracts)
2) comprendere le principali sfide legate alla programmazione di contratti intelligenti
3) comprendere i problemi e le vulnerabilità più comuni della tecnologia blockchain e dei contratti intelligenti
Prerequisiti
Contenuti
2) Introduzione alla programmazione di contratti intelligenti (smart contracts)
3) Investigazione delle principali problematiche e vulnerabilità (numerical overflow, cross-contract invocations, non-determinism, ...)
4) Soluzioni per la verifica automatica del software basato su analisi statica
Testi di riferimento
- Antonopoulos, Andreas M.: "Mastering Bitcoin: unlocking digital cryptocurrencies", O'Reilly Media, 2014. (https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ )
- Antonopoulos, Andreas M., and Gavin Wood: "Mastering Ethereum: building smart contracts and dapps", O'Reilly Media, 2018. (https://www.oreilly.com/library/view/mastering-ethereum/9781491971932/ )
Verifica del software:
- Xavier Rival and Kwangkeun Yi: "Introduction to Static Analysis: An Abstract Interpretation Perspective", MIT Press, 2019 (https://mitpress.mit.edu/books/introduction-static-analysis )
- Patrick Cousot: "Principles of Abstract Interpretation", MIT Press, 2021 (https://mitpress.mit.edu/books/principles-abstract-interpretation )