Studying at the University of Verona
Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.
Study Plan
This information is intended exclusively for students already enrolled in this course.If you are a new student interested in enrolling, you can find information about the course of study on the course page:
Laurea magistrale in Ingegneria e scienze informatiche - Enrollment from 2025/2026The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.
1° Year
2° Year activated in the A.Y. 2021/2022
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
4 modules among the following
2 modules among the following
3 modules among the following
Legend | Type of training activity (TTA)
TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.
Foundations of software analysis and verification (2020/2021)
Teaching code
4S008901
Teacher
Coordinator
Credits
6
Language
Italian
Scientific Disciplinary Sector (SSD)
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
Period
I semestre dal Oct 1, 2020 al Jan 29, 2021.
Learning outcomes
The goal of the course is that of providing the basic tools for understanding, designing and using analysis tools on computational systems aiming at verifying properties and/or extracting functionalities of systems under analysis. In the context of the CdS, the course provides context knowledge and cross capabilities useful for analyzing software systems both from the developer point of view and from the point of view of who aims at extracting functionalities from unknown systems (reverse engineering). At the end of the course, the student will be able to show knowledge and comprehension capabilities that allow him/her to elaborate and/or apply original ideas in the fields of software analysis and verification, potentially in research contexts; to solve problems of program analysis in new and not familiar fields, included in wider contexts, related to their field of study; to study and to search for study material concerning system and program analysis in autonomy.
Program
Introduction to program analysis and verification.
Static analyses: Data-flow analysis based on CFG, Static analysis based on semantics (abstract interpretation), numerical analysis, alias and inter-procedural analysis (nods)
Dynamic analyses: Formal foundations of testing, Monitoring.
Verification: Model checking
Slicing: Transformation technique for program analysis and verification.
Author | Title | Publishing house | Year | ISBN | Notes |
---|---|---|---|---|---|
Seidl, Helmut, Wilhelm, Reinhard, Hack, Sebastian | Compiler Design Analysis and Transformation (Edizione 1) | Springer | 2012 | 978-3-642-17548-0 | |
Keith Cooper, Linda Torczon | Engineering a Compiler, Second Edition (Edizione 2) | Elsevier | 2012 | 012088478X | |
Xavier Rival, Kwangkeun Yi | Introduction to Static Analysis: An Abstract Interpretation Perspective | MIT | 2020 | ||
Edmund M Clarke, Orna Grumberg, Doron Peled, Doron Peleg | Model Checking (Edizione 2) | MIT | 2018 | 9780262038836 | |
Christel Baier and Joost-Pieter Katoen | Principles of Model Checking | MIT press | 2008 | ||
F. Nielson, H. R. Nielson and C. Hankin | Principles of Program Analysis | Springer-Verlag | 1999 |
Examination Methods
The exam is structured in two parts and may be completed in two different manners:
- Written exam + Project
- Written exam + Oral (mandatory for evaluation greater than 26)
The goal of the written exam is that of verifying a sufficient understanding of the notions presented during the course. The goal of the project is that of verifying the capability of retrieving study material and of re-elaborating independently and in autonomy the notions acquired during the course.
The goal of the oral exam is that of verifying an advanced understanding of the notions presented during the course and a clear capability of re-elaborating the studied notions.
In particular:
Written exam: set of questions on the whole program of the course
Project: detailed study of a specific problem or case study in the context of program analysis (written relation+presentation with slides)
Oral exam: questions on the whole program of the course