decomposing the rationale of code commits the software
play

Decomposing the Rationale of Code Commits: The Software Developers - PowerPoint PPT Presentation

Decomposing the Rationale of Code Commits: The Software Developers Perspective Khadijah Al Safwan Francisco Servant Introduction What is the rationale behind these code changes? Why the code is this way ? What is the goal of [these


  1. Decomposing the Rationale of Code Commits: The Software Developers’ Perspective Khadijah Al Safwan Francisco Servant

  2. Introduction What is the rationale behind these code changes? Why the code is this way ? What is the goal of [these changes]? What are the alternatives of [these changes]? What is the Need for [these changes]? Khadijah Al Safwan 2

  3. Introduction What is the rationale behind these code changes? Why the code is this way ? What is the goal of [these changes]? What are the alternatives of [these changes]? What is the Need for [these changes]? Khadijah Al Safwan 3

  4. Related Work • Rationale in software development life-cycles • Software requirements • Software design and architecture • Software evolution and maintenance • Empirical studies Ko 07, Burge 08, Fritz 10, LaToza 10, Roehm 12, Tao 12, Maalej 14, Codoban 15, Pascarella 18, Eber 18 • Capturing rationale Kurtanović 17, Alkadhi 18 • Software/change comprehension tools Buse 10, Bradley 11, Cortés-Coy 14, Linares-Vásquez 15, Jiang 17,… Khadijah Al Safwan 4

  5. Research Method One-to-One Interview Online survey Model of Rationale Experience with Rationale Khadijah Al Safwan 5

  6. One-to-One Interview Recruitment Design & Analysis Public Channels Participant Referrals Screening Questionnaire Khadijah Al Safwan 6

  7. One-to-One Interview Recruitment Design & Analysis Pilot Interviews Situations of Decomposition of Initial Quantitative Proposed Rationale Need Rationale decomposition Questions decomposition Model of Rationale Card Sorting Responses Distribution Khadijah Al Safwan 7

  8. Online Survey Recruitment Design & Analysis Public Channels Participant Referrals Khadijah Al Safwan 8

  9. Online Survey Recruitment Design & Analysis Need Finding Recording Pilot Surveys Quantitative Questions Responses Distribution Khadijah Al Safwan 9

  10. Results One-to-One Interview Online survey Model of Rationale Experience with Rationale Khadijah Al Safwan 10

  11. Model of Rationale for Code Commits Goal Need Benefits Constraints Why the code Alternatives is this way ? Selected Alternatives Dependency Committer Time Location Modifications Explanation of Modifications Validation Maturity Stage Side Effects Khadijah Al Safwan 11

  12. Experience with Rationale Recording Need Finding (Frequency of Need) Modifications Goal Location Committer Time Need Explanation of Modifications Dependency Benefits Maturity Stage Constraints Validation Selected Alternatives Side Effects Alternatives Khadijah Al Safwan 12

  13. Experience with Rationale Recording Need Finding (Frequency of Need) (Difficulty of Finding) Modifications Alternatives Goal Side Effects Location Constraints Committer Dependency Time Selected Alternatives Need Benefits Explanation of Modifications Validation Dependency Maturity Stage Benefits Explanation of Modifications Maturity Stage Need Constraints Time Validation Goal Selected Alternatives Location Side Effects Modifications Alternatives Committer Khadijah Al Safwan 13

  14. Experience with Rationale Recording Need Finding (Frequency of Need) (Frequency of Finding) Modifications Committer Goal Modifications Location Location Committer Goal Time Time Need Need Explanation of Modifications Maturity Stage Dependency Explanation of Modifications Benefits Benefits Maturity Stage Dependency Constraints Validation Validation Selected Alternatives Selected Alternatives Constraints Side Effects Side Effects Alternatives Alternatives Khadijah Al Safwan 14

  15. Experience with Rationale Recording Need Finding (Frequency of Need) (Frequency of Finding) (Frequency of Recording) Modifications Committer Goal Goal Modifications Committer Location Location Location Committer Goal Modifications Time Time Time Need Need Need Explanation of Modifications Maturity Stage Explanation of Modifications Dependency Explanation of Modifications Dependency Benefits Benefits Side Effects Maturity Stage Dependency Validation Constraints Validation Benefits Validation Selected Alternatives Maturity Stage Selected Alternatives Constraints Selected Alternatives Side Effects Side Effects Constraints Alternatives Alternatives Alternatives Khadijah Al Safwan 15

  16. Experiences Comparison Recording Need Finding (Frequency of Need) (Frequency of Finding) (Frequency of Recording) Modifications Committer Goal Goal Modifications Committer Location Location Location Committer Goal Modifications Time Time Time Need Need Need Explanation of Modifications Maturity Stage Explanation of Modifications Dependency Explanation of Modifications Dependency Benefits Benefits Side Effects Maturity Stage Dependency Validation Constraints Validation Benefits Validation Selected Alternatives Maturity Stage Selected Alternatives Constraints Selected Alternatives Side Effects Side Effects Constraints Alternatives Alternatives Alternatives Khadijah Al Safwan 16

  17. Experiences Comparison Recording Need Finding ��������� ������ ��������������������������� �������� ������ �������������������� ������������ �������������� �������������������� ����� ���������� ���������� ���� ���� ��������� ��������� ����������� ������ ������� ������������ ���� ������ Most components only ����� ����������� sometimes found even when they are needed multiple ����� �������� �������� �������� �������� ����� ����� ����� ����� ����� times per month ��� ��� ��� ��� ������� ���� ���� ����� ���� ����������������� Khadijah Al Safwan 17

  18. Experiences Comparison Recording Need Finding ��������� ���� ������ ��������������������������� �������� ������ ���������������������� ����������� ��������� ������������ ����� ���������� ���������� ���� ��������� ���� ������� ������ ����������� ������������ ������ Many components are not �������������� ����� �������������������� frequently recorded even if they are needed multiple ����� �������� �������� �������� �������� ����� ����� ����� ����� ����� times per month ��� ��� ��� ��� ������� ���� ���� ����� ���� ����������������� Khadijah Al Safwan 18

  19. Experiences Comparison Recording Need Finding ��������� �������� ���� ������ ��������������������������� ������ ���������� ��������� ���������������������� ����� ���������� ������������ ���� ��������� ���� ����������� ������� ������ ������������ ����������� ������ �������������� Some components are rarely ����� �������������������� recorded and sometimes ������ ������ ����� ������ found, but they are the most ����� ��������� ������ difficult to find �������������������� Khadijah Al Safwan 19

  20. Implications and Future Work What’s next … Educators Researchers & Tool Builders Practitioners Empirical studies Khadijah Al Safwan 20

  21. Conclusion Problem Solution Contribution Implications Need Finding Recording Goal Why the code Need is this way ? Interview survey Benefits Educators Constraints Alternatives Selected Alternatives Dependency Committer Model Experience Practitioners Time of Rationale with Rationale Location Modifications Explanation of Modifications Validation Researchers Maturity Stage & Tool Builders Side Effects Khadijah Al Safwan 21

Recommend


More recommend