mail unicampaniaunicampania webcerca

    Pietro LIGUORI

    Insegnamento di AFFIDABILITA' E SICUREZZA DEI SISTEMI SOFTWARE COMPLESSI

    Corso di laurea magistrale in INGEGNERIA INFORMATICA

    SSD: ING-INF/05

    CFU: 6,00

    ORE PER UNITÀ DIDATTICA: 48,00

    Periodo di Erogazione: Secondo Semestre

    Italiano

    Lingua di insegnamento

    ITALIANO

    Contenuti

    Il corso di Affidabilità dei Sistemi Software Complessi mira a fornire le metodologie e le tecniche di analisi, progettazione e verifica di sicurezza ed affidabilità del software. In particolare, tali concetti vengono affrontati inquadrandoli nel contesto dei sistemi software complessi e critici.

    Testi di riferimento

    - L'analisi quantitativa dei sistemi critici. Andrea Bondavalli. Ed. Esculapio.
    - Ian Sommerville, “Ingegneria del software”, Addison Wesley.

    Obiettivi formativi

    Sviluppo di capacità di ragionamento e di critica nell'analisi e nella progettazione di sistemi software affidabili e sicuri. Conoscenza dei fondamentali concetti e tecniche per prevenire, rilevare e tollerare i difetti e le vulnerabilità del software.

    Prerequisiti

    Acquisiti concetti di ingegneria del software e sistemi distribuiti

    Metodologie didattiche

    Lezioni frontali, esercitazioni assistite

    Metodi di valutazione

    Esame orale con eventuale discussione di elaborati progettuali individuali o di gruppo

    Altre informazioni

    Materiale didattico aggiuntivo sarà disponibile sul sito del corso a cura del docente

    Programma del corso

    1. Introduzione al corso: i sistemi complessi e critici
    2. Le peculiarità dei sistemi software
    3. I concetti di fidatezza
    4. Classificazione dei fault
    5. Attributi di fidatezza
    6. Fault Avoidance: SysML
    7. I Means: fault prevention, fault tolerance, fault removal, fault forecasting
    8. Verifica e validazione dei sistemi software
    9. Tecniche di analisi e test
    10. Test funzionale e strutturale
    11. Test di robustezza
    12. Statistical test, fault based test, model based test, e object-oriented test
    13. Fault Injection
    14. Modelli formali
    15. Model checking
    16. Reti di Petri e reti SUN
    17. La tolleranza ai guasti
    18. Fault Trees
    19. Groph Models
    20. Sefety: hazard avoidance, detection e removal
    21. La sicurezza nei sistemi software critici
    22. Cyber Attacks
    23. Derection, Diagnosys e Recovery
    24. Tecniche di correlazione e machine learning applicate all’Intrusion Detection
    25. Malware analysis: tecniche e strumenti per l’analisi statica e dinamica
    26. Security tools: IDS/IPS e SIEM, Cyber Range

    English

    Teaching language

    Inglese

    Contents

    The course aims to provide the methodologies and techniques of analysis, design and verification of security and reliability of the software. In particular, these concepts are addressed in the context of complex and critical software systems.

    Textbook and course materials

    - L'analisi quantitativa dei sistemi critici. Andrea Bondavalli. Ed. Esculapio.
    - Ian Sommerville, “Ingegneria del software”, Addison Wesley.

    Course objectives

    Development of reasoning and critical skills in the analysis and design of reliable and secure software systems. Knowledge of the fundamental concepts and techniques to prevent, detect and tolerate software flaws and vulnerabilities.

    Prerequisites

    67/5000
    Acquired software engineering concepts and distributed systems concepts

    Teaching methods

    Lectures, assisted exercises

    Evaluation methods

    Oral examination with possible discussion of individual or group project works

    Other information

    Materiale didattico aggiuntivo sarà disponibile sul sito del corso a cura del docente

    Course Syllabus

    1. Introduction to the course: complex and critical systems
    2. The peculiarities of software systems
    3. The concepts of dependability
    4. Fault classification
    5. Attributes of dependability
    6. Fault Avoidance: SysML
    7. Means: fault prevention, fault tolerance, fault removal, fault forecasting
    8. Verification and validation of software systems
    9. Analysis and test techniques
    10. Functional and structural test
    11. Robustness test
    12. Statistical test, fault based test, model based test, and object-oriented test
    13. Fault Injection
    14. Formal models
    15. Model checking
    16. Petri nets and SUN nets
    17. Fault tolerance
    18. Fault Trees
    19. Groph Models
    20. Safety: hazard avoidance, detection and removal
    21. Security in critical software systems
    22. Cyber ​​Attacks
    23. Derection, Diagnosys and Recovery
    24. Correlation techniques and machine learning applied to intrusion detection
    25. Malware analysis: techniques and tools for static and dynamic analysis
    26. Security tools: IDS / IPS and SIEM, Cyber ​​Range

    facebook logoinstagram buttonyoutube logotypelinkedin logotype