Ogni modulo equivale a 3 crediti ECTS. È possibile scegliere un totale di 10 moduli/30 ECTS nelle seguenti categorie:
- 12-15 crediti ECTS in moduli tecnico-scientifici (TSM)
I moduli TSM trasmettono competenze tecniche specifiche del profilo e si integrano ai moduli di approfondimento decentralizzati. - 9-12 crediti ECTS in basi teoriche ampliate (FTP)
I moduli FTP trattano principalmente basi teoriche come la matematica, la fisica, la teoria dell’informazione, la chimica ecc. I moduli ampliano la competenza scientifica dello studente e contribuiscono a creare un importante sinergia tra i concetti astratti e l’applicazione fondamentale per l’innovazione - 6-9 crediti ECTS in moduli di contesto (CM)
I moduli CM trasmettono competenze supplementari in settori quali gestione delle tecnologie, economia aziendale, comunicazione, gestione dei progetti, diritto dei brevetti, diritto contrattuale ecc.
La descrizione del modulo (scarica il pdf) riporta le informazioni linguistiche per ogni modulo, suddivise nelle seguenti categorie:
- Insegnamento
- Documentazione
- Esame
Students shall gain an overview over current methods for software assurance. This may include, but is not limited to,
* advanced techniques for automated debugging; and
* advanced techniques for formal correctness of programs.
Requisiti
Students will need knowledge in software engineering, specifically testing. Students will need to be reasonably fluent in a variety of languages including but not limited to C and Python. Knowledge of some assembly (e.g., x86, x86-64, or ARM) will be advantageous.
Obiettivi di apprendimento
- Students get an overview of advanced techniques for software assurance that are related to automated debugging. This may include, but is not limited to, delta debugging, automated fault repair, and mining function specifications.
- Students know techniques and tools for automated test case generation, such as fuzzing, how they work, to what class of faults they apply, how to interpret their outputs, and how to use them in their own projects.
- Students receive an in-depth introduction to techniques of formal correctness, such as symbolic execution or automated correctness proofs
Contenuti del modulo
- Automated debugging
- Formal methods
Metodologie di insegnamento e apprendimento
Lectures will be part ex-cathedra lectures, part in-class exercises.
These exercises are designed to be done either individually or in groups and can be done remotely. There may also be guest lectures.
Bibliografia
Andreas Zeller, Why Programs Fail. Morgan Kaufman. Second Edition, 1770. (Yes, that's the date that Amazon has for the book. In reality, the second edition is from 2008.)
Ari Takanen, Fuzzing for Software Security Testing and Quality Assurance. Artech House Publishers. Second Edition, 2018. Seokhie Hong (Ed.), Side Channel Attacks. MDPI. 2019.
David J. Smith and Kenneth G. L. Simpson, The Safety Critical Systems Handbook: A Straightforward Guide to Functional Safety: IEC 61508 (2010 Edition), IEC 61511 (2015 Edition) and Related Guidance. Butterworth-Heisman. Fifth edition, 2020.
Scarica il descrittivo completo del modulo
Indietro