SOFTWARE CORRECTNESS, SECURITY, AND RELIABILITY

Academic year
2022/2023 Syllabus of previous years
Official course title
SOFTWARE CORRECTNESS, SECURITY, AND RELIABILITY
Course code
CM0476 (AF:398311 AR:214940)
Modality
On campus classes
ECTS credits
6
Degree level
Master's Degree Programme (DM270)
Educational sector code
INF/01
Period
2nd Semester
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
This is a core course in the Security stream of the Master Programme, as it provides formal methods for software verification.
The aim of the course is to provide an overview of the main (formal and semi-formal) techniques for analysis and verification of software. Reliability of software systems heavily depends on the correctness of code components. The course outlines advantages and limits of static analysis techniques versus testing procedures, and discusses metrics and standards for software quality assurance.
Basic Algebraic Structures, Programming Languages
1. Semantics-based techniques for correctness and security analysis
Trace Semantics and Fixpoints
Abstract Interpretation
Dataflow Analysis
Model Checking

2. Software Quality Assurance
Software quality metrics
Software quality standards
Software quality management
Software Safety and Reliability
Xavier Rival and Kwangkeun Yi, "Introduction to Static Analysis An Abstract Interpretation Perspective", MIT Press, 2020, ISBN: 9780262043410
G.Schulmeyer, “Handbook of Software Quality Assurance”, 2007, ISBN-13: 978-1596931862
P.Cousot, "Principles of Abstract Interpretation, MIT Press, 2021
Assignments will be offered on weakly based, that will be discussed in class.
A project will be assigned to make use of an industrial static analyser.
The final exam consists in the discussion of the assignments and of the results of the project.
Lectures, team-working, project revisions.
All teaching material will be made available in the Moodle platform
English
oral
Definitive programme.
Last update of the programme: 17/05/2022