Automated reasoning and program verification 2016

Instructor : Ashutosh Gupta

Timings : Monday 11:00 - 12:30 and 14:00 - 15:30
Venue : A-203

This course is divided in two modules, namely automated reasoning and program verification. Automated reasoning will include advance design of SAT solvers, theory combination, decision procedures for various first-order theories, proof generation, maxsat, model counting, quantifier elimination, interpolation, abduction, etc. Program verification will include program modelling, concolic testing, abstract interpretation, symbolic model checking, bounded model checking, abstract refinement based model checking, concurrency verification, and termination proving. The course work will include theoretical as well as practical exercises.

Source material

Evaluation structure

May change later.

Lectures

Module : Program verification

2016-02-01 : Week 1 - Program and property modelling

2016-02-08 : Week 2 - Explicit and symbolic methods

Module : Automated reasoning

2016-02-15 : Week 3 - SMT solvers reminder, EUF, Z3

2016-02-22 : Week 4 - Decision procedures - linear rational arithmetic(LRA)

2016-02-29 : Week 5 - Decision procedures - octagonal constraints

2016-03-07 : Week 6 - Threory of arrays and theory combination

2016-03-14 : Midterm

Module : Program verification (contd.)

2016-03-21 : Week 7 - Lattice theory and fixed points

2016-03-28 : Week 8 - Abstract interpretation

2016-04-04 : Week 9 - Abstract model checking and termination

2016-04-11 : Week 10 - Linear temopral logic and Buchi automaton

Module : Automated Reasoning (contd.)

2016-04-18: Week 11 - Proof generation and interpolation

2016-04-25: Week 12 - Verification using Coq

2016-05-13 : Project submission deadline

Student presentation

Student presentations will be held at the end of last 2-3 lecutures. Schedule will be released by the end of March.

Last modified: Wed Jun 1 10:56:28 IST 2016