|Tuesday||2:30 PM - 4:30 PM||lesson||Lecture Hall I|
|Wednesday||12:30 PM - 2:30 PM||lesson||Lecture Hall I|
The class presents problems and methods for program analysis and verification, by 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.
First-order theories. Induction. Hoare logic, annotations, partial and total correctness, states, paths, invariants. Invariant generation. Choice of automated reasoning techniques: decision procedures for satisfiability modulo theories (equality, data structures, combination of theories,
decision procedures based on resolution and superposition);
model checking (symbolic model checking, predicate abstraction, counter-example guided refinement).
|Aaron R. Bradley, Zohar Manna||The Calculus of Computation - Decision Procedures with Applications to Verification (Edizione 1)||Springer||2007||9783540741||Testo adottato|
For Master students:
Partial tests mode: it applies only to the exam session right at the end of the class. The exam consists of a written test (C) and an individual project (P) to be developed either at home or in the lab during the term. The final grade is given by 50% C + 50% P.
Single-test mode: the exam consists of a single written test E, whose difficulty is equivalent to that of C+P, and whose grade determines alone the final grade. This mode applies to all sessions.
For doctoral students:
oral exam consisting of the presentation of one or more related articles from the literature.
Strada le Grazie 15
VAT number 01541040232
Italian Fiscal Code 93009870234
© 2020 | Verona University | Credits