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. &����� ��������� �������������������������������������������� ������������������������������������������������������ ����������� ������ !�� �"� ���#����$%������������&��!� �� �������

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend