automatically repairing broken workflows for evolving gui
play

Automatically Repairing Broken Workflows for Evolving GUI - PowerPoint PPT Presentation

Automatically Repairing Broken Workflows for Evolving GUI Applications Sai Zhang University of Washington Joint work with: Hao L, Michael D. Ernst A workflow = A sequence of UI actions


  1. Automatically Repairing Broken Workflows for Evolving GUI Applications Sai Zhang University of Washington Joint work with: Hao Lü, Michael D. Ernst

  2. ������������������� A workflow = A sequence of UI actions for a specific task ����������������� Example : A 3%action workflow of creating a crossword puzzle: ������������������ ����������� 12 1 2 � 3

  3. ��������������������������������� Version 0.3 ���������� ���������������������������� ? Version 0.35 The workflow is broken! �

  4. ������������������������������ • Suggest a “ replacement action ” for a broken action – No change to the code – Help users perform the same task, but adapt to the new GUI ? Version 0.35 ��������� �������������������������������������� Replacement action : Click “ New Crossword ” ����������������������������� ����������� ����������� ��������������� �������������������� �

  5. ������������������������������� !

  6. ������������������������������� "

  7. ������������������������������� #

  8. ������������������������������� $

  9. ������������������������������� %

  10. ������������������������������� GUI evolution can break workflows! &'

  11. ���������������������������� • Affect user experience (focus of this talk) ������!� �����������()����*�������''# 100+ posts • Impact automated testing % mimic workflows % 30 – 70% of them are broken in GUI evolution [Memon’03, Grechanik’09, Daniel’11] ������� ����������������������������������������

  12. ���� ����������������!���������� • A UI action’s effect cannot be observed statically • Repairing broken workflows needs to: – distinguish actions that ������������ but have ��������� ������� – identify ��������� UI actions that may perform the ���� task ������������������������������������������� &�

  13. "������ • Problem • Technique • Evaluation • Related Work • Contributions &�

  14. #�$�������������%���%�&�� • The ������$��������� implementing the ���� functionality ���$�����������$���������� between versions • “action semantics” ≈ the invoked methods • UI Actions invoking ������� �������� are likely to perform �������� tasks &+

  15. '������������������%���%�&�� ������(�� Old version New version GUI change ������������������ �������������� Weight ����������������� 1 1/3 &,�-������.�/�-����/��� ���������������������� ��� ����������������� ���������������������� ��� ��������������� 1/3 �,�-�����������-����/��� ����������������� ��������������� ��� 1/3 �,�-������������.�/�-����/��� ����������������� ���������������������������� ��� "������������������! &, -������.�/�-����/��� &! �, 0

  16. ����%���%�&�� ������(�� "����$����������$����%���$� �)������������������ * ��������������� ���������� ### ### ������������������ ###### ###### ��$ %������ '����������$�%������ ### # # ### (����$������������ &���%������ ������������������� ����������������� (the first action is broken) &"

  17. ����%���%�&�� ������(�� * ��������������� ���������� ### ### ������������������ ###### ###### ��$ %������ '����������$�%������ ### # +������,����$� # ### ,������� &���%������ ,����������������$� ��%���$��)������������ ������������������%������ &#

  18. ����%���%�&�� ������(�� * ��������������� ���������� ### ### ������������������ ###### ###### ��$ %������ '����������$�%������ ### # +������,����$� ,�����$ # ### ,������� ,����$� &���%������ -�����������%������. *������ � � � �����$�������� � ���������� ### � � ���������������� � � ###### � � ������� �� � � '����������$�%������ @ "��$���������� "��$���)�������� ����������������('�����������$� ����������� ��������('����������������������� &$

  19. ����%���%�&�� ������(�� * ��������������� ���������� ### ### ������������������ ###### ###### ��$ %������ '����������$�%������ ### # +������,����$� ,�����$ # ### ,������� ,����$� &���%������ *������ � � �����$�������� � � "���������� ���������� ### � � � ���������������� � *����� ###### � � ������� �� � � "�������$����� '����������$�%������ @ "��$���������� �����������%���$������$�����$���������������%��������� "����$��������� ������������������� /���������������������������� ����������������������� ������� 1. �������������������������%�������������� 2. 3. 6 &%

  20. "������ • Problem • Technique • Evaluation • Related Work • Contributions �'

  21. )��������(�������� • How effective is FlowFixer in repairing broken workflows? – Accuracy – Efficiency • Comparison with a GUI%comparison%based technique [ Grechanik’09 ] �&

Recommend


More recommend