Software Verification

Software verification is the process by which a computer program is analysed in order to prove its correctness or to discover bugs. This course will introduce students to this topic with an overview of several techniques based on both testing and static verification, such as abstract interpretation, model checking, and satisfiability modulo theories. Students will be exposed to both theory and practice of software verification by means of practical sessions with state-of-the-art software tools.
Percorso: 
10006
Ore: 
20
Professors: