Automated program verification
Scientific Disciplinary Sector (SSD)
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
II semestre dal Mar 1, 2012 al Jun 15, 2012.
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 in expressing the behavior of programs in logical formulae, and in designing automated reasoners capable to handle them efficiently.
Theorem proving in propositional and first-order logic. First-order theories. Hoare logic, annotations, partial and total correctness, states, paths, invariants. Verification conditions for partial and total correctness: generation and proof of validity. Decision procedures for satisfiability modulo theories: equality, data structures, their combination.
The grade is given by 30% C1 + 35% C2 + 35% P, where C1 is the midterm exam, C2 is the final exam, and P is an individual project. 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 the union of C1, C2 and 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 test.