Decomposing the Rationale of Code Commits: The Software Developers - - PowerPoint PPT Presentation
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
Khadijah Al Safwan
Introduction
What is the rationale behind these code changes?
2
What is the goal of [these changes]? Why the code is this way? What is the Need for [these changes]? What are the alternatives
- f [these changes]?
Khadijah Al Safwan
Introduction
What is the rationale behind these code changes?
3
What is the goal of [these changes]? What is the Need for [these changes]? Why the code is this way? What are the alternatives
- f [these changes]?
Khadijah Al Safwan
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,…
4
Khadijah Al Safwan
Research Method
5
One-to-One Interview Model of Rationale Online survey Experience with Rationale
Khadijah Al Safwan 6
One-to-One Interview
Design & Analysis Recruitment
Public Channels Participant Referrals Screening Questionnaire
Khadijah Al Safwan
One-to-One Interview
7
Design & Analysis Recruitment
Card Sorting Responses Distribution
Pilot Interviews
Situations of Rationale Need Decomposition of Rationale Initial decomposition Proposed decomposition Quantitative Questions Model of Rationale
Khadijah Al Safwan 8
Online Survey
Design & Analysis Recruitment
Public Channels Participant Referrals
Khadijah Al Safwan 9
Online Survey
Design & Analysis Recruitment
Pilot Surveys Quantitative Questions
Need Finding Recording
Responses Distribution
Khadijah Al Safwan
Results
10
One-to-One Interview Model of Rationale Online survey Experience with Rationale
Khadijah Al Safwan
Goal Need Benefits Constraints Alternatives Selected Alternatives Dependency Committer Time Location Modifications Explanation of Modifications Validation Maturity Stage Side Effects
11
Model of Rationale for Code Commits
Why the code is this way?
Khadijah Al Safwan 12
Experience with Rationale
(Frequency of Need)
Need Finding Recording
Modifications Goal Location Committer Time Need Explanation of Modifications Dependency Benefits Maturity Stage Constraints Validation Selected Alternatives Side Effects Alternatives
Khadijah Al Safwan 13
Experience with Rationale
(Difficulty of Finding)
Need Finding Recording
(Frequency of Need) Modifications Goal Location Committer Time Need Explanation of Modifications Dependency Benefits Maturity Stage Constraints Validation Selected Alternatives Side Effects Alternatives Alternatives Side Effects Constraints Dependency Selected Alternatives Benefits Validation Maturity Stage Explanation of Modifications Need Time Goal Location Modifications Committer
Khadijah Al Safwan 14
Experience with Rationale
(Frequency of Finding)
Need Finding Recording
(Frequency of Need) Modifications Goal Location Committer Time Need Explanation of Modifications Dependency Benefits Maturity Stage Constraints Validation Selected Alternatives Side Effects Alternatives Committer Modifications Location Goal Time Need Maturity Stage Explanation of Modifications Benefits Dependency Validation Selected Alternatives Constraints Side Effects Alternatives
Khadijah Al Safwan 15
Experience with Rationale
(Frequency of Finding) (Frequency of Recording)
Need Finding Recording
(Frequency of Need) Modifications Goal Location Committer Time Need Explanation of Modifications Dependency Benefits Maturity Stage Constraints Validation Selected Alternatives Side Effects Alternatives Committer Modifications Location Goal Time Need Maturity Stage Explanation of Modifications Benefits Dependency Validation Selected Alternatives Constraints Side Effects Alternatives Goal Committer Location Modifications Time Need Explanation of Modifications Dependency Side Effects Validation Benefits Maturity Stage Selected Alternatives Constraints Alternatives
Khadijah Al Safwan 16
Experiences Comparison
(Frequency of Finding) (Frequency of Need) (Frequency of Recording)
Need Finding Recording
Modifications Goal Location Committer Time Need Explanation of Modifications Dependency Benefits Maturity Stage Constraints Validation Selected Alternatives Side Effects Alternatives Committer Modifications Location Goal Time Need Maturity Stage Explanation of Modifications Benefits Dependency Validation Selected Alternatives Constraints Side Effects Alternatives Goal Committer Location Modifications Time Need Explanation of Modifications Dependency Side Effects Validation Benefits Maturity Stage Selected Alternatives Constraints Alternatives
Khadijah Al Safwan 17
Experiences Comparison
- Need
Finding Recording
Most components only sometimes found even when they are needed multiple times per month
Khadijah Al Safwan 18
Experiences Comparison
- Need
Finding Recording
Many components are not frequently recorded even if they are needed multiple times per month
Khadijah Al Safwan 19
Experiences Comparison
- Need
Finding Recording
Some components are rarely recorded and sometimes found, but they are the most difficult to find
Khadijah Al Safwan
Implications and Future Work
20
Educators Practitioners Researchers & Tool Builders
What’s next …
Empirical studies
Khadijah Al Safwan
Goal Need Benefits Constraints Alternatives Selected Alternatives Dependency Committer Time Location Modifications Explanation of Modifications Validation Maturity Stage Side Effects
Conclusion
21
Solution Contribution Problem
Why the code is this way? Interview Model
- f Rationale
survey Experience with Rationale Need Finding Recording
Implications
Educators Researchers & Tool Builders Practitioners