which configuration option should i change

Which Configuration Option Should I Change? Sai Zhang , Michael D. - PowerPoint PPT Presentation

Which Configuration Option Should I Change? Sai Zhang , Michael D. Ernst University of Washington Presented by: Kvan Mulu


  1. Which Configuration Option Should I Change? Sai Zhang , Michael D. Ernst University of Washington Presented by: Kıvanç Mu�lu

  2. ��������������� � ���� ���������������� � ��������������������������� Developers ��������������������� ������������ Users � 2

  3. ����������������������������������������� • Goal: – enable users to fix software errors • Challenges: – Errors can be crashing or non#crashing – Users much less understand source code – Developer tools are of little use 3

  4. Our previous work [ISSTA’13] ���������������������� ������������������������������ ��������������������������� Users 4

  5. ���������������������� ��������������������� ������������ This paper: ��������������������������� ������������������������ Users ����������������������������������������� 5

  6. �������������������������������������������� Configuration errors: � Users use wrong values for options ��������������������� � The software exhibits unintended behaviors �������� ���������� ������� ������������������������� 6

  7. ������������������������������ ������!��� Configuration errors can have Root causes of ������������� issues in ���������� impacts a major storage company [Yin et al, SOSP’11] (downtime costs !"# of revenue) 7

  8. ��������������������������������������������� • Error messages are absent or ambiguous – e.g., � after setting ���������� �� $%%!%� in webs server) • Infeasible to automatically search for a good configuration – Need to know the spec of a valid configuration option value (e.g., regex, date time, integer value range) – Huge search space − Need to specify a testing oracle for automation • Cannot directly use existing debugging techniques [Zhang et al., ICSE’13] 8

  9. ���� "������������������������������������� �!��!��� �������� � ��������� ������ New version Old version Requires configuration! To maintain the desired behavior on the new version ������������������������������������������� 9

  10. �����������������������������������#� ������������ � ��������� ������ New version Old version Key idea: ������������������� Our technique: ConfSuggester ��������������������� ����������������������� &������������������������������� 10

  11. ����������������������� ������������ • Accessible : no assumption about user background (e.g., users cannot read or write code annotations) • Easy+to+use : fully automated • Portable : no changes to OS or runtime environment • Accurate : few false positives 11

  12. $������ • Example • A Study of Configuration Evolution • The ConfSuggester Technique • Evaluation • Related Work • Contributions 12

  13. $������ • Example • A Study of Configuration Evolution • The ConfSuggester Technique • Evaluation • Related Work • Contributions 13

  14. A popular performance testing tool Managers Use Jmeter to monitor a website’s performance 14

  15. All regression tests passed '�������(!) '�������(!* Managers Use Jmeter to monitor a website’s performance 15

  16. All regression tests passed '�������(!) '�������(!* �������+,-� No regression bugs. ������������� The new version behaves as designed , but differently from a user expects. 16

  17. All regression tests passed '�������(!) '�������(!* ConfSuggester &������������������������������� ������������� .��������������/��� : set ������������� ����� 17

  18. All regression tests passed '�������(!) '�������(!* 18

  19. $������ • Example • A Study of Configuration Evolution • The ConfSuggester Technique • Evaluation • Related Work • Contributions 19

  20. ������������������#��������������� ����������!�������% • 8 open#source programs • 40 versions released in the past 6 years • Searched for “configuration changes”#related messages in 7022 commits and 28 change logs ‒ Count the number of changes made to configuration options 20

  21. &������ • Configuration changes arise in every version of all software systems ( 394 configuration changes in total) 2���/��� .����/����� .������� ,������� 0������ ����� 0������ ���������������� 1������ 0������ • Configuration change can lead to unexpected behaviors (details later) 21

  22. $������ • Example • A Study of Configuration Evolution • The ConfSuggester Technique • Evaluation • Related Work • Contributions 22

  23. '��������#������ ������������ • Control flow propagates most configuration options’ effects • The execution traces on the old version can serve as the “intended behavior” – The control flow difference and their impacts provides diagnosis clues ��� ���������������������������3,���� 45 �������������������� �������������������������� ��� ����������������� ��� ���!��" #�$�%#������ &��'#��" #�$�%#��(��� The evaluation result of this predicate affects the & next 1000+ instructions 23

  24. (��)�������� ������������ 0���������� ������������ 7���� ���������� ����������� 6���������� .��������� .����� �����:�� 1. 2. 1����������������������� 3. 8����������������������9 24

  25. (��)�������� ������������ �������������������� 0���������� ������������ ���� ��������� 7���� ���������� 1����������������� ����������� 6���������� ��������������� /������� &���������������� .��������� .����� �����:�� ������� ������������ 1. 2. 1����������������������� 3. 8����������������������9 25

  26. (��)�������� ������������ 26

  27. ������������������ 0���������� ������������ ����������� 6���������� ��������������������;������������ $! ������������������� ���<���������������� (! ����������������������������������� 27

Recommend


More recommend