chalice to boogie
play

Chalice to Boogie Program Verification for ObjectOriented Programs - PowerPoint PPT Presentation

(star) (no star) Chalice to Boogie Program Verification for ObjectOriented Programs Chinmay Kakatkar


  1. (star) (no star) Chalice to Boogie Program Verification for Object�Oriented Programs Chinmay Kakatkar

  2. ����� ���� �� ��� ����� ���� ������������ ������ �� �� ��������� ����������� �� ���� ��������� �� � �� �

  3. ����� ���� �� ��� ����� ���� ������������ ������ �� �� ��������� ����������� �� ���� ��������� ������������� ��������� �� ������������� ��������� � ������������� ��� �� ������������ ��� � ������ ��������� �������

  4. ����� ���� �� �� �� ��� ����� � ���� ������������ ������ �� �� �� ��������� ����������� �� ���� ��������� ������������� ��������� �� ������������� ��������� � ������������� ��� �� ������������ ��� � ������ ��������� �������

  5. !���"��#������ �������

  6. $%��������� ����������������������� ���� �&���������� ��������������������������� ������������������������������������������������� ������������������������� �'

  7. (���)���������� ������������������������ ����� !����*�� ������� ������������� ������ +�,������������� �������������������������������

  8. ����,��-�������������� ����� ���� �� ��� ����������� ���� �������������� ������� ��������� �������������� �� �������� �������������� �� ! ��������� ���������� �� ��������� ����������� �� ���� ��������� ��� ��������� ����� �� ��� ��������� ����� � ���� ������������� ��� �� ���� ������������ ��� � ������ ������� �����

  9. ����,��-�������������� �� �� ����� ���� � �� ��� ����������� ���� �������������� ������� ��������� �������������� �� �������� �������������� �� ! ��������� ���������� �� �� ��������� ����������� �� ���� ��������� ��� ��������� ����� �� ��� ��������� ����� � ���� ������������� ��� �� ���� ������������ ��� � ������ ������� �����

  10. .������������"�,����� Chalice High�level verification language (star) Step 1 Translation Boogie Intermediate representation (no star) Step 2 Generation of verification conditions Step 3 SMT Solver Satisfiable? Yes! No!

  11. .������������"�,����� Chalice High�level verification language (star) ������ ����������� Boogie Intermediate representation (no star) Step 2 Generation of verification conditions Step 3 SMT Solver Satisfiable? Yes! No!

  12. ������������� 1. Formalization of a Chalice subset 2. Formalization of a Boogie subset 3. Formalization of a subset translation from Chalice to Boogie 4. Proof of Soundness of Translation

  13. ������������� 1. Formalization of a Chalice subset 2. Formalization of a Boogie subset 3. Formalization of a subset translation from Chalice to Boogie 4. Proof of Soundness of Translation

  14. �������� ���������� ��������������������������������������� We give: • ��������������������� • �������������� { Pre } C { Post } • �������������������������������������� ��������������������� ���������������������� ������������� �������������

  15. ������������

  16. 2���*������������,��-������������������ ����� ���� �� ��� ����������� ���� ��������������� ����� � ��������� ����� �������� ��������� ���������� �� ��������� ������������//011(1���,������������������ �� ���� ��������� �� � �� �

  17. 2���*������������,��-������������������ ����� ���� �� ��� ����������� ���� ��������������� ����� � ��������� ��������� ���3���//011(1��������������������4������- �������� ��������������� �� ! ��������� ���������� �� ��������� ����������� �� ���� ��������� �� � �� �

  18. ���������������������������� An assertion � is ������������ if and only if ����������������������� � ���� ��������������������������������������������

  19. � ����������� ������� ������� ��� !! Rights Access � is self�framing if and only if Access ( � ) ⊆ Rights ( � )

  20. "������������������������������ � Access ( � ) Rights ( � ) acc(x.f) &*& x.f == 100 { x.f } { x.f } acc(x.f) &*& y.f == 90 { y.f } { x.f } acc(x.f) &*& x.g == 101 { x.g } { x.f } acc(x.f) { } { x.f }

  21. ���������������������������� ����������#�$� ���#�%����������������� �����$� ��%����������� �������������%�����

  22. ���������� • Scoping & Simplification • Design choices • Formalization of method calls

  23. ������������� 1. Formalization of a Chalice subset 2. Formalization of a Boogie subset 3. Formalization of a subset translation from Chalice to Boogie 4. Proof of Soundness of Translation

  24. &����� ��������� �������������������������������������������� ������������������������������������������������������ ����������� ������ !�� �"� ���#����$%������������&��!� �� �������

Recommend


More recommend