SlideShare a Scribd company logo
1 of 36
Download to read offline
How Developers
Spend their Eļ¬€ort
ZĀ“phyrin Soh et al.
e
Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Towards Understanding How Developers
Spend their Eļ¬€ort during
Maintenance Activities
e
e e
ZĀ“phyrin Soh, Foutse Khomh, Yann-GaĀØl GuĀ“hĀ“neuc,
e
Giuliano Antoniol
Department of Computer and Software Engineering
Ā“
Ecole Polytechnique de MontrĀ“al, QuĀ“bec, Canada
e
e

October 16, 2013

Pattern Trace Identiļ¬cation, Detection, and Enhancement in Java
SOftware Cost-eļ¬€ective Change and Evolution Research Lab
How Developers
Spend their Eļ¬€ort

Outline

ZĀ“phyrin Soh et al.
e
Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity

Introduction

Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Eļ¬€ort vs. Complexity

Factors Aļ¬€ecting Eļ¬€ort

Conclusion

Conclusion

2 / 15
How Developers
Spend their Eļ¬€ort

Introduction

ZĀ“phyrin Soh et al.
e

Context and Example (1/2)

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

3 / 15

83
Eclipse bug #1880
Patch #74156
File: 2
LOCĀ : 26
+ 18 LOC
- 8 LOC
How Developers
Spend their Eļ¬€ort

Introduction

ZĀ“phyrin Soh et al.
e

Context and Example (1/2)

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

3 / 15

84
Eclipse bug #1348
#94002
Patch
File: 2
LOCĀ : 20
+ 19 LOC
- 1 LOC
How Developers
Spend their Eļ¬€ort

Introduction

ZĀ“phyrin Soh et al.
e

Context and Example (1/2)

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Complexity of the Changes
Which change is more complex?

83
Eclipse bug #1880
Patch #74156
File: 2
LOCĀ : 26
+ 18 LOC
- 8 LOC

3 / 15

vs.

84
Eclipse bug #1348
Patch #94002
File: 2
LOCĀ : 20
+ 19 LOC
- 1 LOC
How Developers
Spend their Eļ¬€ort

Introduction

ZĀ“phyrin Soh et al.
e

Context and Example (2/2)

Introduction
Context and Example
Data

Eļ¬€ort Needed to Provide a Patch

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Spend a certain eļ¬€ort to:
Explore the program
Find relevant program entities
Understand entities and make changes

4 / 15
How Developers
Spend their Eļ¬€ort

Introduction

ZĀ“phyrin Soh et al.
e

Context and Example (2/2)

Introduction
Context and Example
Data

Eļ¬€ort Needed to Provide a Patch

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Spend a certain eļ¬€ort to:
Explore the program
Find relevant program entities
Understand entities and make changes
1. How to estimate the eļ¬€ort spend to provide a patch?
2. Does a complex patch need more eļ¬€ort?

4 / 15
How Developers
Spend their Eļ¬€ort

Introduction

ZĀ“phyrin Soh et al.
e

Data

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

5 / 15

Need detailed information
Developersā€™ programming activities
Interactions histories
ā‡’ developersā€™ eļ¬€ort
Changes made to address the tasks
Patches
ā‡’ source code before and after
changes
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Research Question

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

6 / 15

Does the complexity of the implementation of a
task reļ¬‚ect developers eļ¬€ort?
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Metrics

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

7 / 15

Developersā€™ eļ¬€ort
Time Spend: Total duration spent on all ļ¬les and their
contents
Cyclomatic complexity: Cyclomatic complexity of the
exploration graph
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Metrics

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Developersā€™ eļ¬€ort
Time Spend: Total duration spent on all ļ¬les and their
contents
Cyclomatic complexity: Cyclomatic complexity of the
exploration graph

Complexity of the changes
Entropy: How much the changes are scattered between
ļ¬les [1]
Change distance: How much diļ¬€erence between the
source code before the changes and source code after.

[1] A. E. Hassan, Predicting faults using the complexity of code changes, ICSE
2009
7 / 15
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Matching (1/2)

Introduction
Context and Example
Data

How do we match interactions and patches?

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

8 / 15

2,408 Interactions histories

?

3,395 Patches
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Matching (1/2)

Introduction
Context and Example
Data

How do we match interactions and patches?

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

2,408 Interactions histories

?

3,395 Patches

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Assumption: An interaction is matched to a patch (i.e., the
patch is the result of the corresponding interaction) if and
only if both are attached to the same bug report, by the
same developer at the same date (date/hour/minutes).
8 / 15
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Matching (2/2)

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity

Unbalanced matchings
Developers modify ļ¬les without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much eļ¬€ort, e.g., propagation of
refactoring

Factors Aļ¬€ecting
Eļ¬€ort

Interactions are not collected when performing the task

Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

9 / 15
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Matching (2/2)

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity

Unbalanced matchings
Developers modify ļ¬les without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much eļ¬€ort, e.g., propagation of
refactoring

Factors Aļ¬€ecting
Eļ¬€ort

Interactions are not collected when performing the task

Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

9 / 15
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Matching (2/2)

Introduction

Unbalanced matchings

Context and Example
Data

Eļ¬€ort vs.
Complexity

Developers modify ļ¬les without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much eļ¬€ort, e.g., propagation of
refactoring

Factors Aļ¬€ecting
Eļ¬€ort

Interactions are not collected when performing the task

Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

F1

F3 F5

F2 F4 F6
F7

9 / 15

F1
F2

F3
F8
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Matching (2/2)

Introduction

Unbalanced matchings

Context and Example
Data

Eļ¬€ort vs.
Complexity

Developers modify ļ¬les without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much eļ¬€ort, e.g., propagation of
refactoring

Factors Aļ¬€ecting
Eļ¬€ort

Interactions are not collected when performing the task

Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

F3 F5

F1

F2 F4 F6
F7
F1
F3

9 / 15

F2
F4

F1

F3

F2

F5

F8

F7
F6

F8

F9
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Matching (2/2)

Introduction

Unbalanced matchings

Context and Example
Data

Eļ¬€ort vs.
Complexity

Developers modify ļ¬les without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much eļ¬€ort, e.g., propagation of
refactoring

Factors Aļ¬€ecting
Eļ¬€ort

Interactions are not collected when performing the task

Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

F3 F5

F1

F2 F4 F6
F7
F1
F3

9 / 15

F2
F4

F1

F3

F2

F5

F8

F7
F6

F8

F9
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Results

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

10 / 15

Eļ¬€ort vs. complexity of the changes
1028 matchings and 217 unbalanced matchings
How Developers
Spend their Eļ¬€ort

Eļ¬€ort vs. Complexity

ZĀ“phyrin Soh et al.
e

Results

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort

Eļ¬€ort vs. complexity of the changes
1028 matchings and 217 unbalanced matchings
Developers do not necessary spend more eļ¬€ort on tasks
requiring more complex changes

Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Time (sec.)
Time (sec.)
Cyclomatic Complexity
10 / 15

Cyclomatic Complexity

0.16
0.27
0.31
0.33

Entropy
Change distance
Entropy
Change distance
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Additional Files

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

11 / 15

Additional Files
Exploring ļ¬les that should not be modiļ¬ed
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Additional Files

Introduction

Additional Files

Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Exploring ļ¬les that should not be modiļ¬ed
Signiļ¬cantly relevant ļ¬les vs. additional (useful and
accidental) ļ¬les

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

F1

F2
F4

F7

F3

F5

F6
F9

62%
11 / 15

F8

38%
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Additional Files

Introduction

Additional Files

Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Exploring ļ¬les that should not be modiļ¬ed
Signiļ¬cantly relevant ļ¬les vs. additional (useful and
accidental) ļ¬les
Eļ¬€ort vs. number of additional ļ¬les: 0.63 (time) and
0.82 (cyclomatic complexity)

Conclusion

F1

F2
F4

F7

F3

F5

F6
F9

62%
11 / 15

F8

38%
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Bug Severity

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Bug severity
Bug severity indicates how much a bug can aļ¬€ect the
performance and stability of the system [2]
The resolution time of severe bugs is greater than the
resolution time of less severe bugs [3]
Developers may spent more eļ¬€ort when ļ¬xing severe
bugs wrt. less severe bugs

[2] Lamkanļ¬ et al., Predicting the severity of a reported bug, MSR 2010
[3] Panjer. Predicting eclipse bug lifetimes, MSR 2007
12 / 15
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Bug Severity

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

12 / 15

Bug severity
Bug severity indicates how much a bug can aļ¬€ect the
performance and stability of the system [2]
The resolution time of severe bugs is greater than the
resolution time of less severe bugs [3]
Developers may spent more eļ¬€ort when ļ¬xing severe
bugs wrt. less severe bugs
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Bug Severity

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Bug severity
Bug severity indicates how much a bug can aļ¬€ect the
performance and stability of the system [2]
The resolution time of severe bugs is greater than the
resolution time of less severe bugs [3]
Developers may spent more eļ¬€ort when ļ¬xing severe
bugs wrt. less severe bugs
15
663
132
218

12 / 15
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Developersā€™ Experience (1/2)

Introduction

Developersā€™ Experience

Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

13 / 15

NB
NF and NLOC (Overall and relevant)
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Developersā€™ Experience (1/2)

Introduction

Developersā€™ Experience

Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

13 / 15

NB
NF and NLOC (Overall and relevant)
Task

T1

NB
F1

F3 F5

F2 F4 F6
F7

NF

NLOC

0

0 (0) 0 (0)

F1 (2 LOC)
F2 (5 LOC)
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Developersā€™ Experience (1/2)

Introduction

Developersā€™ Experience

Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

NB
NF and NLOC (Overall and relevant)
Task

T1

Conclusion

T2 (Case 1)

13 / 15

NB
F1

F3 F5

F2 F4 F6
F7

F3
F4

F5
F5
F7

NLOC

0

0 (0) 0 (0)

1

2 (0) 7 (0)

F1 (2 LOC)
F2 (5 LOC)

F5
F6

NF

F3
F4
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Developersā€™ Experience (1/2)

Introduction

Developersā€™ Experience

Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

NB
NF and NLOC (Overall and relevant)
Task

T1

Conclusion

T2 (Case 1)

T2 (Case 2)

13 / 15

NB
F1

F3 F5

F2 F4 F6
F7

F3
F4

F3
F4

F5
F5
F7

F5

F6

F7

0

0 (0) 0 (0)

F3

1

2 (0) 7 (0)

1

2 (1) 7 (5)

F4

F2
F6

NLOC

F1 (2 LOC)
F2 (5 LOC)

F5

F2

NF

F3
F4
How Developers
Spend their Eļ¬€ort

Factors Aļ¬€ecting Eļ¬€ort

ZĀ“phyrin Soh et al.
e

Developersā€™ Experience (2/2)

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

Developersā€™ Experience
Developers experience does not reduce their eļ¬€ort
When a program evolves, developers may increasingly
perform tasks on parts of the program on which they
have no previous experience

Consistent result with [4] (#commits) for Mylyn and
PDE project
ā‡’ NB and NF can assess developersā€™ experience

[4] Robbes et al., Using developer interaction data to compare expertise
metrics, MSR 2013

14 / 15
How Developers
Spend their Eļ¬€ort

Conclusion

ZĀ“phyrin Soh et al.
e
Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

15 / 15

Time (sec.)
Time (sec.)
Cyclomatic Complexity
Cyclomatic Complexity

0.16
0.27
0.31
0.33

Entropy
Change distance
Entropy
Change distance
How Developers
Spend their Eļ¬€ort

Conclusion

ZĀ“phyrin Soh et al.
e
Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

Conclusion

15 / 15

F1
Time (sec.)
Time (sec.)
Cyclomatic Complexity
Cyclomatic Complexity

0.16
0.27
0.31
0.33

Change distance
Entropy
Change distance

F2
F4

Entropy

F7

F3

F5

F6

F8

F9

62%

38%
How Developers
Spend their Eļ¬€ort

Conclusion

ZĀ“phyrin Soh et al.
e
Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

F1
Time (sec.)
Time (sec.)
Cyclomatic Complexity
Cyclomatic Complexity

0.16
0.27
0.31
0.33

Change distance
Entropy

F7

F3

F5

F6

15
663
132
218

F8

F9

62%

Change distance

Conclusion

15 / 15

F2
F4

Entropy

38%
How Developers
Spend their Eļ¬€ort

Conclusion

ZĀ“phyrin Soh et al.
e
Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

F1
Time (sec.)
Time (sec.)
Cyclomatic Complexity
Cyclomatic Complexity

0.16
0.27
0.31
0.33

Change distance
Entropy

F2

F3

F4

Entropy

F7

F5

F6

Conclusion

F8

F9

62%

Change distance

38%

Task

NB

15
663
132
218

T1

T2 (Case 1)

15 / 15

F1

F3 F5

F2 F4 F6
F7

F3
F4

F5
F5
F7

F2 (5 LOC)

F5
F6

NF

NLOC

0

0 (0) 0 (0)

1

2 (0) 7 (0)

F1 (2 LOC)

F3
F4
How Developers
Spend their Eļ¬€ort

Conclusion

ZĀ“phyrin Soh et al.
e

Thanks for your attention!

Introduction
Context and Example
Data

Eļ¬€ort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Aļ¬€ecting
Eļ¬€ort
Additional Files
Bug Severity
Developersā€™
Experience

F1
Time (sec.)
Time (sec.)
Cyclomatic Complexity
Cyclomatic Complexity

0.16
0.27
0.31
0.33

Change distance
Entropy

F2

F3

F4

Entropy

F7

F5

F6

Conclusion

F8

F9

62%

Change distance

38%

Task

NB

15
663
132
218

T1

T2 (Case 1)

15 / 15

F1

F3 F5

F2 F4 F6
F7

F3
F4

F5
F5
F7

F2 (5 LOC)

F5
F6

NF

NLOC

0

0 (0) 0 (0)

1

2 (0) 7 (0)

F1 (2 LOC)

F3
F4

More Related Content

What's hot

Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
Tao He
Ā 
A software fault localization technique based on program mutations
A software fault localization technique based on program mutationsA software fault localization technique based on program mutations
A software fault localization technique based on program mutations
Tao He
Ā 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Feng Zhang
Ā 
Diversity Maximization Speedup for Fault Localization
Diversity Maximization Speedup for Fault LocalizationDiversity Maximization Speedup for Fault Localization
Diversity Maximization Speedup for Fault Localization
Liang Gong
Ā 

What's hot (16)

Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016
Ā 
2011 EASE - Motivation in Software Engineering: A Systematic Review Update
2011 EASE - Motivation in Software Engineering: A Systematic Review Update2011 EASE - Motivation in Software Engineering: A Systematic Review Update
2011 EASE - Motivation in Software Engineering: A Systematic Review Update
Ā 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
Ā 
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
Ā 
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Ā 
A software fault localization technique based on program mutations
A software fault localization technique based on program mutationsA software fault localization technique based on program mutations
A software fault localization technique based on program mutations
Ā 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction Factor
Ā 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Ā 
Diversity Maximization Speedup for Fault Localization
Diversity Maximization Speedup for Fault LocalizationDiversity Maximization Speedup for Fault Localization
Diversity Maximization Speedup for Fault Localization
Ā 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...
Ā 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
Ā 
Rankingtherefactoring techniques
Rankingtherefactoring techniquesRankingtherefactoring techniques
Rankingtherefactoring techniques
Ā 
130905 francis palma - detection of process antipatterns - a bpel perspective
130905   francis palma - detection of process antipatterns - a bpel perspective130905   francis palma - detection of process antipatterns - a bpel perspective
130905 francis palma - detection of process antipatterns - a bpel perspective
Ā 
Model Driven Method Engineering. A Supporting Infrastructure
Model Driven Method Engineering. A Supporting InfrastructureModel Driven Method Engineering. A Supporting Infrastructure
Model Driven Method Engineering. A Supporting Infrastructure
Ā 
Automatic Traceability
Automatic TraceabilityAutomatic Traceability
Automatic Traceability
Ā 
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
Ā 

Viewers also liked

Viewers also liked (17)

Icsm07 tooldemo.pdf
Icsm07 tooldemo.pdfIcsm07 tooldemo.pdf
Icsm07 tooldemo.pdf
Ā 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
Ā 
Ppap13a.ppt
Ppap13a.pptPpap13a.ppt
Ppap13a.ppt
Ā 
Mribp13.ppt
Mribp13.pptMribp13.ppt
Mribp13.ppt
Ā 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
Ā 
Ssbse12a.ppt
Ssbse12a.pptSsbse12a.ppt
Ssbse12a.ppt
Ā 
Wcre12b.ppt
Wcre12b.pptWcre12b.ppt
Wcre12b.ppt
Ā 
MSR Asia Summit
MSR Asia SummitMSR Asia Summit
MSR Asia Summit
Ā 
Ppap13b.ppt
Ppap13b.pptPpap13b.ppt
Ppap13b.ppt
Ā 
See12.ppt
See12.pptSee12.ppt
See12.ppt
Ā 
Wcre13c.pdf
Wcre13c.pdfWcre13c.pdf
Wcre13c.pdf
Ā 
Wcre12c.ppt
Wcre12c.pptWcre12c.ppt
Wcre12c.ppt
Ā 
Software Design Patterns in Theory
Software Design Patterns in TheorySoftware Design Patterns in Theory
Software Design Patterns in Theory
Ā 
Quality and Software Design Patterns
Quality and Software Design PatternsQuality and Software Design Patterns
Quality and Software Design Patterns
Ā 
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future ChallengesAsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
Ā 
Software Design Patterns in Practice
Software Design Patterns in PracticeSoftware Design Patterns in Practice
Software Design Patterns in Practice
Ā 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
Ā 

Similar to Wcre13b.ppt

Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
131014 wcre-exploration
131014   wcre-exploration131014   wcre-exploration
131014 wcre-exploration
Zephyrin Soh
Ā 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Software Defect Prediction Using Local and Global Analysis
Software Defect Prediction Using Local and Global AnalysisSoftware Defect Prediction Using Local and Global Analysis
Software Defect Prediction Using Local and Global Analysis
Editor IJMTER
Ā 

Similar to Wcre13b.ppt (20)

Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
Ā 
130705 zephyrin soh - how developers spend their effort during maintenance ...
130705   zephyrin soh - how developers spend their effort during maintenance ...130705   zephyrin soh - how developers spend their effort during maintenance ...
130705 zephyrin soh - how developers spend their effort during maintenance ...
Ā 
131014 wcre-exploration
131014   wcre-exploration131014   wcre-exploration
131014 wcre-exploration
Ā 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
Ā 
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
130321   zephyrin soh - on the effect of exploration strategies on maintenanc...130321   zephyrin soh - on the effect of exploration strategies on maintenanc...
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
Ā 
Analyzing the Eclipse API Usage: Putting the Developer in the Loop
Analyzing the Eclipse API Usage: Putting the Developer in the LoopAnalyzing the Eclipse API Usage: Putting the Developer in the Loop
Analyzing the Eclipse API Usage: Putting the Developer in the Loop
Ā 
Ijetcas14 533
Ijetcas14 533Ijetcas14 533
Ijetcas14 533
Ā 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
Ā 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
Ā 
Top 20 software testing interview questions for sdet
Top 20 software testing interview questions for sdetTop 20 software testing interview questions for sdet
Top 20 software testing interview questions for sdet
Ā 
Thesis+of+zƩphyrin+soh.ppt
Thesis+of+zƩphyrin+soh.pptThesis+of+zƩphyrin+soh.ppt
Thesis+of+zƩphyrin+soh.ppt
Ā 
Defect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future ChallengesDefect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future Challenges
Ā 
IET~DAVV STUDY MATERIALS SRS.docx
IET~DAVV STUDY MATERIALS SRS.docxIET~DAVV STUDY MATERIALS SRS.docx
IET~DAVV STUDY MATERIALS SRS.docx
Ā 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
Ā 
ncaca2016
ncaca2016ncaca2016
ncaca2016
Ā 
Learning from Human Repairs Through the Exploitation of Software Repositories
Learning from Human Repairs Through the Exploitation of Software Repositories Learning from Human Repairs Through the Exploitation of Software Repositories
Learning from Human Repairs Through the Exploitation of Software Repositories
Ā 
Software Defect Prediction Using Local and Global Analysis
Software Defect Prediction Using Local and Global AnalysisSoftware Defect Prediction Using Local and Global Analysis
Software Defect Prediction Using Local and Global Analysis
Ā 
Ch15-22-23 (1).ppt
Ch15-22-23 (1).pptCh15-22-23 (1).ppt
Ch15-22-23 (1).ppt
Ā 
Icpc16.ppt
Icpc16.pptIcpc16.ppt
Icpc16.ppt
Ā 
Icpc16.ppt
Icpc16.pptIcpc16.ppt
Icpc16.ppt
Ā 

More from Ptidej Team

Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
Ptidej Team
Ā 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
Ptidej Team
Ā 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
Ptidej Team
Ā 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
Ā 
Presentation
PresentationPresentation
Presentation
Ā 
Presentation
PresentationPresentation
Presentation
Ā 
Presentation
PresentationPresentation
Presentation
Ā 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
Ā 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
Ā 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
Ā 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
Ā 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
Ā 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
Ā 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
Ā 
MIPA
MIPAMIPA
MIPA
Ā 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
Ā 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
Ā 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
Ā 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
Ā 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
Ā 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
Ā 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
Ā 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
Ā 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Ā 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Ā 
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls šŸ„° 8617370543 Service Offer VIP Hot Model
Ā 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Ā 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Ā 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Ā 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
Ā 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Ā 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Ā 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Ā 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Ā 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Ā 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Ā 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Ā 

Wcre13b.ppt

  • 1. How Developers Spend their Eļ¬€ort ZĀ“phyrin Soh et al. e Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Towards Understanding How Developers Spend their Eļ¬€ort during Maintenance Activities e e e ZĀ“phyrin Soh, Foutse Khomh, Yann-GaĀØl GuĀ“hĀ“neuc, e Giuliano Antoniol Department of Computer and Software Engineering Ā“ Ecole Polytechnique de MontrĀ“al, QuĀ“bec, Canada e e October 16, 2013 Pattern Trace Identiļ¬cation, Detection, and Enhancement in Java SOftware Cost-eļ¬€ective Change and Evolution Research Lab
  • 2. How Developers Spend their Eļ¬€ort Outline ZĀ“phyrin Soh et al. e Introduction Context and Example Data Eļ¬€ort vs. Complexity Introduction Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Eļ¬€ort vs. Complexity Factors Aļ¬€ecting Eļ¬€ort Conclusion Conclusion 2 / 15
  • 3. How Developers Spend their Eļ¬€ort Introduction ZĀ“phyrin Soh et al. e Context and Example (1/2) Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 3 / 15 83 Eclipse bug #1880 Patch #74156 File: 2 LOCĀ : 26 + 18 LOC - 8 LOC
  • 4. How Developers Spend their Eļ¬€ort Introduction ZĀ“phyrin Soh et al. e Context and Example (1/2) Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 3 / 15 84 Eclipse bug #1348 #94002 Patch File: 2 LOCĀ : 20 + 19 LOC - 1 LOC
  • 5. How Developers Spend their Eļ¬€ort Introduction ZĀ“phyrin Soh et al. e Context and Example (1/2) Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Complexity of the Changes Which change is more complex? 83 Eclipse bug #1880 Patch #74156 File: 2 LOCĀ : 26 + 18 LOC - 8 LOC 3 / 15 vs. 84 Eclipse bug #1348 Patch #94002 File: 2 LOCĀ : 20 + 19 LOC - 1 LOC
  • 6. How Developers Spend their Eļ¬€ort Introduction ZĀ“phyrin Soh et al. e Context and Example (2/2) Introduction Context and Example Data Eļ¬€ort Needed to Provide a Patch Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Spend a certain eļ¬€ort to: Explore the program Find relevant program entities Understand entities and make changes 4 / 15
  • 7. How Developers Spend their Eļ¬€ort Introduction ZĀ“phyrin Soh et al. e Context and Example (2/2) Introduction Context and Example Data Eļ¬€ort Needed to Provide a Patch Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Spend a certain eļ¬€ort to: Explore the program Find relevant program entities Understand entities and make changes 1. How to estimate the eļ¬€ort spend to provide a patch? 2. Does a complex patch need more eļ¬€ort? 4 / 15
  • 8. How Developers Spend their Eļ¬€ort Introduction ZĀ“phyrin Soh et al. e Data Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 5 / 15 Need detailed information Developersā€™ programming activities Interactions histories ā‡’ developersā€™ eļ¬€ort Changes made to address the tasks Patches ā‡’ source code before and after changes
  • 9. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Research Question Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 6 / 15 Does the complexity of the implementation of a task reļ¬‚ect developers eļ¬€ort?
  • 10. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Metrics Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 7 / 15 Developersā€™ eļ¬€ort Time Spend: Total duration spent on all ļ¬les and their contents Cyclomatic complexity: Cyclomatic complexity of the exploration graph
  • 11. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Metrics Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Developersā€™ eļ¬€ort Time Spend: Total duration spent on all ļ¬les and their contents Cyclomatic complexity: Cyclomatic complexity of the exploration graph Complexity of the changes Entropy: How much the changes are scattered between ļ¬les [1] Change distance: How much diļ¬€erence between the source code before the changes and source code after. [1] A. E. Hassan, Predicting faults using the complexity of code changes, ICSE 2009 7 / 15
  • 12. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Matching (1/2) Introduction Context and Example Data How do we match interactions and patches? Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 8 / 15 2,408 Interactions histories ? 3,395 Patches
  • 13. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Matching (1/2) Introduction Context and Example Data How do we match interactions and patches? Eļ¬€ort vs. Complexity Research Question Metrics Matching Results 2,408 Interactions histories ? 3,395 Patches Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Assumption: An interaction is matched to a patch (i.e., the patch is the result of the corresponding interaction) if and only if both are attached to the same bug report, by the same developer at the same date (date/hour/minutes). 8 / 15
  • 14. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Matching (2/2) Introduction Context and Example Data Eļ¬€ort vs. Complexity Unbalanced matchings Developers modify ļ¬les without interacting with them: Research Question Metrics Matching Results Changes not requiring much eļ¬€ort, e.g., propagation of refactoring Factors Aļ¬€ecting Eļ¬€ort Interactions are not collected when performing the task Additional Files Bug Severity Developersā€™ Experience Conclusion 9 / 15
  • 15. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Matching (2/2) Introduction Context and Example Data Eļ¬€ort vs. Complexity Unbalanced matchings Developers modify ļ¬les without interacting with them: Research Question Metrics Matching Results Changes not requiring much eļ¬€ort, e.g., propagation of refactoring Factors Aļ¬€ecting Eļ¬€ort Interactions are not collected when performing the task Additional Files Bug Severity Developersā€™ Experience Conclusion 9 / 15
  • 16. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Matching (2/2) Introduction Unbalanced matchings Context and Example Data Eļ¬€ort vs. Complexity Developers modify ļ¬les without interacting with them: Research Question Metrics Matching Results Changes not requiring much eļ¬€ort, e.g., propagation of refactoring Factors Aļ¬€ecting Eļ¬€ort Interactions are not collected when performing the task Additional Files Bug Severity Developersā€™ Experience Conclusion F1 F3 F5 F2 F4 F6 F7 9 / 15 F1 F2 F3 F8
  • 17. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Matching (2/2) Introduction Unbalanced matchings Context and Example Data Eļ¬€ort vs. Complexity Developers modify ļ¬les without interacting with them: Research Question Metrics Matching Results Changes not requiring much eļ¬€ort, e.g., propagation of refactoring Factors Aļ¬€ecting Eļ¬€ort Interactions are not collected when performing the task Additional Files Bug Severity Developersā€™ Experience Conclusion F3 F5 F1 F2 F4 F6 F7 F1 F3 9 / 15 F2 F4 F1 F3 F2 F5 F8 F7 F6 F8 F9
  • 18. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Matching (2/2) Introduction Unbalanced matchings Context and Example Data Eļ¬€ort vs. Complexity Developers modify ļ¬les without interacting with them: Research Question Metrics Matching Results Changes not requiring much eļ¬€ort, e.g., propagation of refactoring Factors Aļ¬€ecting Eļ¬€ort Interactions are not collected when performing the task Additional Files Bug Severity Developersā€™ Experience Conclusion F3 F5 F1 F2 F4 F6 F7 F1 F3 9 / 15 F2 F4 F1 F3 F2 F5 F8 F7 F6 F8 F9
  • 19. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Results Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 10 / 15 Eļ¬€ort vs. complexity of the changes 1028 matchings and 217 unbalanced matchings
  • 20. How Developers Spend their Eļ¬€ort Eļ¬€ort vs. Complexity ZĀ“phyrin Soh et al. e Results Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Eļ¬€ort vs. complexity of the changes 1028 matchings and 217 unbalanced matchings Developers do not necessary spend more eļ¬€ort on tasks requiring more complex changes Additional Files Bug Severity Developersā€™ Experience Conclusion Time (sec.) Time (sec.) Cyclomatic Complexity 10 / 15 Cyclomatic Complexity 0.16 0.27 0.31 0.33 Entropy Change distance Entropy Change distance
  • 21. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Additional Files Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 11 / 15 Additional Files Exploring ļ¬les that should not be modiļ¬ed
  • 22. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Additional Files Introduction Additional Files Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Exploring ļ¬les that should not be modiļ¬ed Signiļ¬cantly relevant ļ¬les vs. additional (useful and accidental) ļ¬les Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion F1 F2 F4 F7 F3 F5 F6 F9 62% 11 / 15 F8 38%
  • 23. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Additional Files Introduction Additional Files Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Exploring ļ¬les that should not be modiļ¬ed Signiļ¬cantly relevant ļ¬les vs. additional (useful and accidental) ļ¬les Eļ¬€ort vs. number of additional ļ¬les: 0.63 (time) and 0.82 (cyclomatic complexity) Conclusion F1 F2 F4 F7 F3 F5 F6 F9 62% 11 / 15 F8 38%
  • 24. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Bug Severity Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Bug severity Bug severity indicates how much a bug can aļ¬€ect the performance and stability of the system [2] The resolution time of severe bugs is greater than the resolution time of less severe bugs [3] Developers may spent more eļ¬€ort when ļ¬xing severe bugs wrt. less severe bugs [2] Lamkanļ¬ et al., Predicting the severity of a reported bug, MSR 2010 [3] Panjer. Predicting eclipse bug lifetimes, MSR 2007 12 / 15
  • 25. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Bug Severity Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 12 / 15 Bug severity Bug severity indicates how much a bug can aļ¬€ect the performance and stability of the system [2] The resolution time of severe bugs is greater than the resolution time of less severe bugs [3] Developers may spent more eļ¬€ort when ļ¬xing severe bugs wrt. less severe bugs
  • 26. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Bug Severity Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Bug severity Bug severity indicates how much a bug can aļ¬€ect the performance and stability of the system [2] The resolution time of severe bugs is greater than the resolution time of less severe bugs [3] Developers may spent more eļ¬€ort when ļ¬xing severe bugs wrt. less severe bugs 15 663 132 218 12 / 15
  • 27. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Developersā€™ Experience (1/2) Introduction Developersā€™ Experience Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 13 / 15 NB NF and NLOC (Overall and relevant)
  • 28. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Developersā€™ Experience (1/2) Introduction Developersā€™ Experience Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 13 / 15 NB NF and NLOC (Overall and relevant) Task T1 NB F1 F3 F5 F2 F4 F6 F7 NF NLOC 0 0 (0) 0 (0) F1 (2 LOC) F2 (5 LOC)
  • 29. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Developersā€™ Experience (1/2) Introduction Developersā€™ Experience Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience NB NF and NLOC (Overall and relevant) Task T1 Conclusion T2 (Case 1) 13 / 15 NB F1 F3 F5 F2 F4 F6 F7 F3 F4 F5 F5 F7 NLOC 0 0 (0) 0 (0) 1 2 (0) 7 (0) F1 (2 LOC) F2 (5 LOC) F5 F6 NF F3 F4
  • 30. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Developersā€™ Experience (1/2) Introduction Developersā€™ Experience Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience NB NF and NLOC (Overall and relevant) Task T1 Conclusion T2 (Case 1) T2 (Case 2) 13 / 15 NB F1 F3 F5 F2 F4 F6 F7 F3 F4 F3 F4 F5 F5 F7 F5 F6 F7 0 0 (0) 0 (0) F3 1 2 (0) 7 (0) 1 2 (1) 7 (5) F4 F2 F6 NLOC F1 (2 LOC) F2 (5 LOC) F5 F2 NF F3 F4
  • 31. How Developers Spend their Eļ¬€ort Factors Aļ¬€ecting Eļ¬€ort ZĀ“phyrin Soh et al. e Developersā€™ Experience (2/2) Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion Developersā€™ Experience Developers experience does not reduce their eļ¬€ort When a program evolves, developers may increasingly perform tasks on parts of the program on which they have no previous experience Consistent result with [4] (#commits) for Mylyn and PDE project ā‡’ NB and NF can assess developersā€™ experience [4] Robbes et al., Using developer interaction data to compare expertise metrics, MSR 2013 14 / 15
  • 32. How Developers Spend their Eļ¬€ort Conclusion ZĀ“phyrin Soh et al. e Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 15 / 15 Time (sec.) Time (sec.) Cyclomatic Complexity Cyclomatic Complexity 0.16 0.27 0.31 0.33 Entropy Change distance Entropy Change distance
  • 33. How Developers Spend their Eļ¬€ort Conclusion ZĀ“phyrin Soh et al. e Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience Conclusion 15 / 15 F1 Time (sec.) Time (sec.) Cyclomatic Complexity Cyclomatic Complexity 0.16 0.27 0.31 0.33 Change distance Entropy Change distance F2 F4 Entropy F7 F3 F5 F6 F8 F9 62% 38%
  • 34. How Developers Spend their Eļ¬€ort Conclusion ZĀ“phyrin Soh et al. e Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience F1 Time (sec.) Time (sec.) Cyclomatic Complexity Cyclomatic Complexity 0.16 0.27 0.31 0.33 Change distance Entropy F7 F3 F5 F6 15 663 132 218 F8 F9 62% Change distance Conclusion 15 / 15 F2 F4 Entropy 38%
  • 35. How Developers Spend their Eļ¬€ort Conclusion ZĀ“phyrin Soh et al. e Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience F1 Time (sec.) Time (sec.) Cyclomatic Complexity Cyclomatic Complexity 0.16 0.27 0.31 0.33 Change distance Entropy F2 F3 F4 Entropy F7 F5 F6 Conclusion F8 F9 62% Change distance 38% Task NB 15 663 132 218 T1 T2 (Case 1) 15 / 15 F1 F3 F5 F2 F4 F6 F7 F3 F4 F5 F5 F7 F2 (5 LOC) F5 F6 NF NLOC 0 0 (0) 0 (0) 1 2 (0) 7 (0) F1 (2 LOC) F3 F4
  • 36. How Developers Spend their Eļ¬€ort Conclusion ZĀ“phyrin Soh et al. e Thanks for your attention! Introduction Context and Example Data Eļ¬€ort vs. Complexity Research Question Metrics Matching Results Factors Aļ¬€ecting Eļ¬€ort Additional Files Bug Severity Developersā€™ Experience F1 Time (sec.) Time (sec.) Cyclomatic Complexity Cyclomatic Complexity 0.16 0.27 0.31 0.33 Change distance Entropy F2 F3 F4 Entropy F7 F5 F6 Conclusion F8 F9 62% Change distance 38% Task NB 15 663 132 218 T1 T2 (Case 1) 15 / 15 F1 F3 F5 F2 F4 F6 F7 F3 F4 F5 F5 F7 F2 (5 LOC) F5 F6 NF NLOC 0 0 (0) 0 (0) 1 2 (0) 7 (0) F1 (2 LOC) F3 F4