|Tuesday||2:30 PM - 4:30 PM||lesson||Lecture Hall I|
|Thursday||11:30 AM - 1:30 PM||lesson||Lecture Hall G|
The class presents problems and methods for program analysis and verification, by automated reasoning techniques such as theorem proving or model checking. Objective of the class is that the student understands the problems arising on one hand
in expressing the behavior of programs in logical formulae, and on the other hand in designing automated reasoners capable to handle such formulae efficiently.
Theorem proving in propositional logic: the Davis-Putnam-Logemann-Loveland procedure. Theorem proving in first-order logic: resolution and superposition. First-order theories. Hoare logic, annotations, partial and total correctness, states, paths, invariants. Invariant generation. Decision procedures for satisfiability modulo theories: equality, data structures, combination of theories by equality sharing, decision procedures based on resolution and superposition.
For master students:
the exam consists of a written exam (C) and an individual project (P). The grade is given by 50% C + 50% P. This applies to the final exam at the end of the course.
In the following sessions, the exam consists of a written exam (E), whose difficulty is such to be equivalent to that of C+P, and whose grade determines alone the final grade.
Cheating is forbidden and will determine loss of points. Students may withdraw only by not handing-in the exam.
For PhD students:
oral exam consisting in the presentation of one or more papers from the literature.
Strada le Grazie 15
VAT number 01541040232
Italian Fiscal Code 93009870234
© 2020 | Verona University | Credits