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

decomposing the rationale of code commits the software
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Decomposing the Rationale of Code Commits: The Software Developers’ Perspective

Khadijah Al Safwan Francisco Servant

slide-2
SLIDE 2

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]?
slide-3
SLIDE 3

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]?
slide-4
SLIDE 4

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

slide-5
SLIDE 5

Khadijah Al Safwan

Research Method

5

One-to-One Interview Model of Rationale Online survey Experience with Rationale

slide-6
SLIDE 6

Khadijah Al Safwan 6

One-to-One Interview

Design & Analysis Recruitment

Public Channels Participant Referrals Screening Questionnaire

slide-7
SLIDE 7

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

slide-8
SLIDE 8

Khadijah Al Safwan 8

Online Survey

Design & Analysis Recruitment

Public Channels Participant Referrals

slide-9
SLIDE 9

Khadijah Al Safwan 9

Online Survey

Design & Analysis Recruitment

Pilot Surveys Quantitative Questions

Need Finding Recording

Responses Distribution

slide-10
SLIDE 10

Khadijah Al Safwan

Results

10

One-to-One Interview Model of Rationale Online survey Experience with Rationale

slide-11
SLIDE 11

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?

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

Khadijah Al Safwan 17

Experiences Comparison

  • Need

Finding Recording

Most components only sometimes found even when they are needed multiple times per month

slide-18
SLIDE 18

Khadijah Al Safwan 18

Experiences Comparison

  • Need

Finding Recording

Many components are not frequently recorded even if they are needed multiple times per month

slide-19
SLIDE 19

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

slide-20
SLIDE 20

Khadijah Al Safwan

Implications and Future Work

20

Educators Practitioners Researchers & Tool Builders

What’s next …

Empirical studies

slide-21
SLIDE 21

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