SlideShare a Scribd company logo
How Developers
Spend their Effort
Z´phyrin Soh et al.
e
Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

Towards Understanding How Developers
Spend their Effort 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 Identification, Detection, and Enhancement in Java
SOftware Cost-effective Change and Evolution Research Lab
How Developers
Spend their Effort

Outline

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

Effort vs.
Complexity

Introduction

Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Effort vs. Complexity

Factors Affecting Effort

Conclusion

Conclusion

2 / 15
How Developers
Spend their Effort

Introduction

Z´phyrin Soh et al.
e

Context and Example (1/2)

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Introduction

Z´phyrin Soh et al.
e

Context and Example (1/2)

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Introduction

Z´phyrin Soh et al.
e

Context and Example (1/2)

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Introduction

Z´phyrin Soh et al.
e

Context and Example (2/2)

Introduction
Context and Example
Data

Effort Needed to Provide a Patch

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

Spend a certain effort to:
Explore the program
Find relevant program entities
Understand entities and make changes

4 / 15
How Developers
Spend their Effort

Introduction

Z´phyrin Soh et al.
e

Context and Example (2/2)

Introduction
Context and Example
Data

Effort Needed to Provide a Patch

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

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

4 / 15
How Developers
Spend their Effort

Introduction

Z´phyrin Soh et al.
e

Data

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

5 / 15

Need detailed information
Developers’ programming activities
Interactions histories
⇒ developers’ effort
Changes made to address the tasks
Patches
⇒ source code before and after
changes
How Developers
Spend their Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Research Question

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

6 / 15

Does the complexity of the implementation of a
task reflect developers effort?
How Developers
Spend their Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Metrics

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

7 / 15

Developers’ effort
Time Spend: Total duration spent on all files and their
contents
Cyclomatic complexity: Cyclomatic complexity of the
exploration graph
How Developers
Spend their Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Metrics

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

Developers’ effort
Time Spend: Total duration spent on all files and their
contents
Cyclomatic complexity: Cyclomatic complexity of the
exploration graph

Complexity of the changes
Entropy: How much the changes are scattered between
files [1]
Change distance: How much difference 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 Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Matching (1/2)

Introduction
Context and Example
Data

How do we match interactions and patches?

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

8 / 15

2,408 Interactions histories

?

3,395 Patches
How Developers
Spend their Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Matching (1/2)

Introduction
Context and Example
Data

How do we match interactions and patches?

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

2,408 Interactions histories

?

3,395 Patches

Factors Affecting
Effort
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 Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Matching (2/2)

Introduction
Context and Example
Data

Effort vs.
Complexity

Unbalanced matchings
Developers modify files without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much effort, e.g., propagation of
refactoring

Factors Affecting
Effort

Interactions are not collected when performing the task

Additional Files
Bug Severity
Developers’
Experience

Conclusion

9 / 15
How Developers
Spend their Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Matching (2/2)

Introduction
Context and Example
Data

Effort vs.
Complexity

Unbalanced matchings
Developers modify files without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much effort, e.g., propagation of
refactoring

Factors Affecting
Effort

Interactions are not collected when performing the task

Additional Files
Bug Severity
Developers’
Experience

Conclusion

9 / 15
How Developers
Spend their Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Matching (2/2)

Introduction

Unbalanced matchings

Context and Example
Data

Effort vs.
Complexity

Developers modify files without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much effort, e.g., propagation of
refactoring

Factors Affecting
Effort

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 Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Matching (2/2)

Introduction

Unbalanced matchings

Context and Example
Data

Effort vs.
Complexity

Developers modify files without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much effort, e.g., propagation of
refactoring

Factors Affecting
Effort

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 Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Matching (2/2)

Introduction

Unbalanced matchings

Context and Example
Data

Effort vs.
Complexity

Developers modify files without interacting with them:

Research Question
Metrics
Matching
Results

Changes not requiring much effort, e.g., propagation of
refactoring

Factors Affecting
Effort

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 Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Results

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

10 / 15

Effort vs. complexity of the changes
1028 matchings and 217 unbalanced matchings
How Developers
Spend their Effort

Effort vs. Complexity

Z´phyrin Soh et al.
e

Results

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort

Effort vs. complexity of the changes
1028 matchings and 217 unbalanced matchings
Developers do not necessary spend more effort 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 Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Additional Files

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

11 / 15

Additional Files
Exploring files that should not be modified
How Developers
Spend their Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Additional Files

Introduction

Additional Files

Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Exploring files that should not be modified
Significantly relevant files vs. additional (useful and
accidental) files

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

F1

F2
F4

F7

F3

F5

F6
F9

62%
11 / 15

F8

38%
How Developers
Spend their Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Additional Files

Introduction

Additional Files

Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Exploring files that should not be modified
Significantly relevant files vs. additional (useful and
accidental) files
Effort vs. number of additional files: 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 Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Bug Severity

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

Bug severity
Bug severity indicates how much a bug can affect 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 effort when fixing severe
bugs wrt. less severe bugs

[2] Lamkanfi 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 Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Bug Severity

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

12 / 15

Bug severity
Bug severity indicates how much a bug can affect 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 effort when fixing severe
bugs wrt. less severe bugs
How Developers
Spend their Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Bug Severity

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

Bug severity
Bug severity indicates how much a bug can affect 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 effort when fixing severe
bugs wrt. less severe bugs
15
663
132
218

12 / 15
How Developers
Spend their Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Developers’ Experience (1/2)

Introduction

Developers’ Experience

Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

13 / 15

NB
NF and NLOC (Overall and relevant)
How Developers
Spend their Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Developers’ Experience (1/2)

Introduction

Developers’ Experience

Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Developers’ Experience (1/2)

Introduction

Developers’ Experience

Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Developers’ Experience (1/2)

Introduction

Developers’ Experience

Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Factors Affecting Effort

Z´phyrin Soh et al.
e

Developers’ Experience (2/2)

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
Additional Files
Bug Severity
Developers’
Experience

Conclusion

Developers’ Experience
Developers experience does not reduce their effort
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 Effort

Conclusion

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

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Conclusion

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

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Conclusion

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

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Conclusion

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

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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 Effort

Conclusion

Z´phyrin Soh et al.
e

Thanks for your attention!

Introduction
Context and Example
Data

Effort vs.
Complexity
Research Question
Metrics
Matching
Results

Factors Affecting
Effort
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

PDF
130411 francis palma - detection of process antipatterns -- a bpel perspective
Ptidej Team
 
PDF
Wcre13a.ppt
Ptidej Team
 
PDF
Ssbse12b.ppt
Ptidej Team
 
PDF
Instance Space Analysis for Search Based Software Engineering
Aldeida Aleti
 
PPTX
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Abdel Salam Sayyad
 
PDF
Programming with GUTs
catherinewall
 
PPTX
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Abdel Salam Sayyad
 
PDF
On the application of SAT solvers for Search Based Software Testing
jfrchicanog
 
130411 francis palma - detection of process antipatterns -- a bpel perspective
Ptidej Team
 
Wcre13a.ppt
Ptidej Team
 
Ssbse12b.ppt
Ptidej Team
 
Instance Space Analysis for Search Based Software Engineering
Aldeida Aleti
 
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Abdel Salam Sayyad
 
Programming with GUTs
catherinewall
 
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Abdel Salam Sayyad
 
On the application of SAT solvers for Search Based Software Testing
jfrchicanog
 

What's hot (16)

PDF
Exploratory testing STEW 2016
Per Runeson
 
PDF
2011 EASE - Motivation in Software Engineering: A Systematic Review Update
HASE – Human Aspects in Software Engineering
 
DOC
Testing survey by_directions
Tao He
 
PDF
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
csandit
 
PPT
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
CS, NcState
 
PPTX
A software fault localization technique based on program mutations
Tao He
 
PPT
Using Developer Information as a Prediction Factor
Tim Menzies
 
PDF
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Feng Zhang
 
PDF
Diversity Maximization Speedup for Fault Localization
Liang Gong
 
PDF
The adoption of machine learning techniques for software defect prediction: A...
RAKESH RANA
 
PDF
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
acijjournal
 
PDF
Rankingtherefactoring techniques
ijseajournal
 
PDF
130905 francis palma - detection of process antipatterns - a bpel perspective
Ptidej Team
 
PPT
Model Driven Method Engineering. A Supporting Infrastructure
Mario Cervera
 
PPT
Automatic Traceability
Radoslaw Smilgin
 
PDF
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
CSCJournals
 
Exploratory testing STEW 2016
Per Runeson
 
2011 EASE - Motivation in Software Engineering: A Systematic Review Update
HASE – Human Aspects in Software Engineering
 
Testing survey by_directions
Tao He
 
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
csandit
 
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
CS, NcState
 
A software fault localization technique based on program mutations
Tao He
 
Using Developer Information as a Prediction Factor
Tim Menzies
 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Feng Zhang
 
Diversity Maximization Speedup for Fault Localization
Liang Gong
 
The adoption of machine learning techniques for software defect prediction: A...
RAKESH RANA
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
acijjournal
 
Rankingtherefactoring techniques
ijseajournal
 
130905 francis palma - detection of process antipatterns - a bpel perspective
Ptidej Team
 
Model Driven Method Engineering. A Supporting Infrastructure
Mario Cervera
 
Automatic Traceability
Radoslaw Smilgin
 
Software Defect Trend Forecasting In Open Source Projects using A Univariate ...
CSCJournals
 
Ad

Viewers also liked (17)

PDF
Icsm07 tooldemo.pdf
Ptidej Team
 
PDF
Rsse12.ppt
Ptidej Team
 
PDF
Ppap13a.ppt
Ptidej Team
 
PDF
Mribp13.ppt
Ptidej Team
 
PDF
Icsoc12 tooldemo.ppt
Ptidej Team
 
PDF
Ssbse12a.ppt
Ptidej Team
 
PDF
Wcre12b.ppt
Ptidej Team
 
PDF
MSR Asia Summit
Ptidej Team
 
PDF
Ppap13b.ppt
Ptidej Team
 
PDF
See12.ppt
Ptidej Team
 
PDF
Wcre13c.pdf
Ptidej Team
 
PDF
Wcre12c.ppt
Ptidej Team
 
PDF
Software Design Patterns in Theory
Ptidej Team
 
PDF
Quality and Software Design Patterns
Ptidej Team
 
PDF
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
Ptidej Team
 
PDF
Software Design Patterns in Practice
Ptidej Team
 
PDF
Jcom02.ppt
Ptidej Team
 
Icsm07 tooldemo.pdf
Ptidej Team
 
Rsse12.ppt
Ptidej Team
 
Ppap13a.ppt
Ptidej Team
 
Mribp13.ppt
Ptidej Team
 
Icsoc12 tooldemo.ppt
Ptidej Team
 
Ssbse12a.ppt
Ptidej Team
 
Wcre12b.ppt
Ptidej Team
 
MSR Asia Summit
Ptidej Team
 
Ppap13b.ppt
Ptidej Team
 
See12.ppt
Ptidej Team
 
Wcre13c.pdf
Ptidej Team
 
Wcre12c.ppt
Ptidej Team
 
Software Design Patterns in Theory
Ptidej Team
 
Quality and Software Design Patterns
Ptidej Team
 
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
Ptidej Team
 
Software Design Patterns in Practice
Ptidej Team
 
Jcom02.ppt
Ptidej Team
 
Ad

Similar to Wcre13b.ppt (20)

PDF
Wcre13b.ppt
Yann-Gaël Guéhéneuc
 
PDF
130705 zephyrin soh - how developers spend their effort during maintenance ...
Ptidej Team
 
PDF
131014 wcre-exploration
Zephyrin Soh
 
PDF
Wcre13a.ppt
Yann-Gaël Guéhéneuc
 
PDF
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
Ptidej Team
 
PPTX
Analyzing the Eclipse API Usage: Putting the Developer in the Loop
Alexander Serebrenik
 
PDF
Ijetcas14 533
Iasir Journals
 
PPTX
Top 20 software testing interview questions for sdet
DevLabs Alliance
 
PPTX
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance
 
PPTX
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance
 
PDF
Thesis+of+zéphyrin+soh.ppt
Ptidej Team
 
PDF
Defect Prediction: Accomplishments and Future Challenges
Yasutaka Kamei
 
DOCX
IET~DAVV STUDY MATERIALS SRS.docx
Madhur Jatiya
 
PDF
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
acijjournal
 
PDF
ncaca2016
Sushant Kumar
 
PDF
Learning from Human Repairs Through the Exploitation of Software Repositories
ijseajournal
 
PDF
Software Defect Prediction Using Local and Global Analysis
Editor IJMTER
 
PPT
Ch15-22-23 (1).ppt
B86RanePranavMurari
 
PDF
Icpc16.ppt
Yann-Gaël Guéhéneuc
 
PDF
Icpc16.ppt
Ptidej Team
 
130705 zephyrin soh - how developers spend their effort during maintenance ...
Ptidej Team
 
131014 wcre-exploration
Zephyrin Soh
 
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
Ptidej Team
 
Analyzing the Eclipse API Usage: Putting the Developer in the Loop
Alexander Serebrenik
 
Ijetcas14 533
Iasir Journals
 
Top 20 software testing interview questions for sdet
DevLabs Alliance
 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance
 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance
 
Thesis+of+zéphyrin+soh.ppt
Ptidej Team
 
Defect Prediction: Accomplishments and Future Challenges
Yasutaka Kamei
 
IET~DAVV STUDY MATERIALS SRS.docx
Madhur Jatiya
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
acijjournal
 
ncaca2016
Sushant Kumar
 
Learning from Human Repairs Through the Exploitation of Software Repositories
ijseajournal
 
Software Defect Prediction Using Local and Global Analysis
Editor IJMTER
 
Ch15-22-23 (1).ppt
B86RanePranavMurari
 
Icpc16.ppt
Ptidej Team
 

More from Ptidej Team (20)

PDF
From IoT to Software Miniaturisation
Ptidej Team
 
PDF
Presentation
Ptidej Team
 
PDF
Presentation
Ptidej Team
 
PDF
Presentation
Ptidej Team
 
PDF
Presentation by Lionel Briand
Ptidej Team
 
PDF
Manel Abdellatif
Ptidej Team
 
PDF
Azadeh Kermansaravi
Ptidej Team
 
PDF
Mouna Abidi
Ptidej Team
 
PDF
CSED - Manel Grichi
Ptidej Team
 
PDF
Cristiano Politowski
Ptidej Team
 
PDF
Will io t trigger the next software crisis
Ptidej Team
 
PDF
MIPA
Ptidej Team
 
PDF
Thesis+of+laleh+eshkevari.ppt
Ptidej Team
 
PDF
Thesis+of+nesrine+abdelkafi.ppt
Ptidej Team
 
PDF
Medicine15.ppt
Ptidej Team
 
PDF
Qrs17b.ppt
Ptidej Team
 
PDF
Icpc11c.ppt
Ptidej Team
 
PDF
Icsme16.ppt
Ptidej Team
 
PDF
Msr17a.ppt
Ptidej Team
 
PDF
Icsoc15.ppt
Ptidej Team
 
From IoT to Software Miniaturisation
Ptidej Team
 
Presentation
Ptidej Team
 
Presentation
Ptidej Team
 
Presentation
Ptidej Team
 
Presentation by Lionel Briand
Ptidej Team
 
Manel Abdellatif
Ptidej Team
 
Azadeh Kermansaravi
Ptidej Team
 
Mouna Abidi
Ptidej Team
 
CSED - Manel Grichi
Ptidej Team
 
Cristiano Politowski
Ptidej Team
 
Will io t trigger the next software crisis
Ptidej Team
 
Thesis+of+laleh+eshkevari.ppt
Ptidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Ptidej Team
 
Medicine15.ppt
Ptidej Team
 
Qrs17b.ppt
Ptidej Team
 
Icpc11c.ppt
Ptidej Team
 
Icsme16.ppt
Ptidej Team
 
Msr17a.ppt
Ptidej Team
 
Icsoc15.ppt
Ptidej Team
 

Recently uploaded (20)

PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 

Wcre13b.ppt

  • 1. How Developers Spend their Effort Z´phyrin Soh et al. e Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion Towards Understanding How Developers Spend their Effort 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 Identification, Detection, and Enhancement in Java SOftware Cost-effective Change and Evolution Research Lab
  • 2. How Developers Spend their Effort Outline Z´phyrin Soh et al. e Introduction Context and Example Data Effort vs. Complexity Introduction Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Effort vs. Complexity Factors Affecting Effort Conclusion Conclusion 2 / 15
  • 3. How Developers Spend their Effort Introduction Z´phyrin Soh et al. e Context and Example (1/2) Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Introduction Z´phyrin Soh et al. e Context and Example (1/2) Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Introduction Z´phyrin Soh et al. e Context and Example (1/2) Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Introduction Z´phyrin Soh et al. e Context and Example (2/2) Introduction Context and Example Data Effort Needed to Provide a Patch Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion Spend a certain effort to: Explore the program Find relevant program entities Understand entities and make changes 4 / 15
  • 7. How Developers Spend their Effort Introduction Z´phyrin Soh et al. e Context and Example (2/2) Introduction Context and Example Data Effort Needed to Provide a Patch Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion Spend a certain effort to: Explore the program Find relevant program entities Understand entities and make changes 1. How to estimate the effort spend to provide a patch? 2. Does a complex patch need more effort? 4 / 15
  • 8. How Developers Spend their Effort Introduction Z´phyrin Soh et al. e Data Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion 5 / 15 Need detailed information Developers’ programming activities Interactions histories ⇒ developers’ effort Changes made to address the tasks Patches ⇒ source code before and after changes
  • 9. How Developers Spend their Effort Effort vs. Complexity Z´phyrin Soh et al. e Research Question Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion 6 / 15 Does the complexity of the implementation of a task reflect developers effort?
  • 10. How Developers Spend their Effort Effort vs. Complexity Z´phyrin Soh et al. e Metrics Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion 7 / 15 Developers’ effort Time Spend: Total duration spent on all files and their contents Cyclomatic complexity: Cyclomatic complexity of the exploration graph
  • 11. How Developers Spend their Effort Effort vs. Complexity Z´phyrin Soh et al. e Metrics Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion Developers’ effort Time Spend: Total duration spent on all files and their contents Cyclomatic complexity: Cyclomatic complexity of the exploration graph Complexity of the changes Entropy: How much the changes are scattered between files [1] Change distance: How much difference 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 Effort Effort vs. Complexity Z´phyrin Soh et al. e Matching (1/2) Introduction Context and Example Data How do we match interactions and patches? Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion 8 / 15 2,408 Interactions histories ? 3,395 Patches
  • 13. How Developers Spend their Effort Effort vs. Complexity Z´phyrin Soh et al. e Matching (1/2) Introduction Context and Example Data How do we match interactions and patches? Effort vs. Complexity Research Question Metrics Matching Results 2,408 Interactions histories ? 3,395 Patches Factors Affecting Effort 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 Effort Effort vs. Complexity Z´phyrin Soh et al. e Matching (2/2) Introduction Context and Example Data Effort vs. Complexity Unbalanced matchings Developers modify files without interacting with them: Research Question Metrics Matching Results Changes not requiring much effort, e.g., propagation of refactoring Factors Affecting Effort Interactions are not collected when performing the task Additional Files Bug Severity Developers’ Experience Conclusion 9 / 15
  • 15. How Developers Spend their Effort Effort vs. Complexity Z´phyrin Soh et al. e Matching (2/2) Introduction Context and Example Data Effort vs. Complexity Unbalanced matchings Developers modify files without interacting with them: Research Question Metrics Matching Results Changes not requiring much effort, e.g., propagation of refactoring Factors Affecting Effort Interactions are not collected when performing the task Additional Files Bug Severity Developers’ Experience Conclusion 9 / 15
  • 16. How Developers Spend their Effort Effort vs. Complexity Z´phyrin Soh et al. e Matching (2/2) Introduction Unbalanced matchings Context and Example Data Effort vs. Complexity Developers modify files without interacting with them: Research Question Metrics Matching Results Changes not requiring much effort, e.g., propagation of refactoring Factors Affecting Effort 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 Effort Effort vs. Complexity Z´phyrin Soh et al. e Matching (2/2) Introduction Unbalanced matchings Context and Example Data Effort vs. Complexity Developers modify files without interacting with them: Research Question Metrics Matching Results Changes not requiring much effort, e.g., propagation of refactoring Factors Affecting Effort 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 Effort Effort vs. Complexity Z´phyrin Soh et al. e Matching (2/2) Introduction Unbalanced matchings Context and Example Data Effort vs. Complexity Developers modify files without interacting with them: Research Question Metrics Matching Results Changes not requiring much effort, e.g., propagation of refactoring Factors Affecting Effort 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 Effort Effort vs. Complexity Z´phyrin Soh et al. e Results Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion 10 / 15 Effort vs. complexity of the changes 1028 matchings and 217 unbalanced matchings
  • 20. How Developers Spend their Effort Effort vs. Complexity Z´phyrin Soh et al. e Results Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Effort vs. complexity of the changes 1028 matchings and 217 unbalanced matchings Developers do not necessary spend more effort 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 Effort Factors Affecting Effort Z´phyrin Soh et al. e Additional Files Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion 11 / 15 Additional Files Exploring files that should not be modified
  • 22. How Developers Spend their Effort Factors Affecting Effort Z´phyrin Soh et al. e Additional Files Introduction Additional Files Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Exploring files that should not be modified Significantly relevant files vs. additional (useful and accidental) files Factors Affecting Effort 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 Effort Factors Affecting Effort Z´phyrin Soh et al. e Additional Files Introduction Additional Files Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Exploring files that should not be modified Significantly relevant files vs. additional (useful and accidental) files Effort vs. number of additional files: 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 Effort Factors Affecting Effort Z´phyrin Soh et al. e Bug Severity Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion Bug severity Bug severity indicates how much a bug can affect 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 effort when fixing severe bugs wrt. less severe bugs [2] Lamkanfi 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 Effort Factors Affecting Effort Z´phyrin Soh et al. e Bug Severity Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion 12 / 15 Bug severity Bug severity indicates how much a bug can affect 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 effort when fixing severe bugs wrt. less severe bugs
  • 26. How Developers Spend their Effort Factors Affecting Effort Z´phyrin Soh et al. e Bug Severity Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion Bug severity Bug severity indicates how much a bug can affect 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 effort when fixing severe bugs wrt. less severe bugs 15 663 132 218 12 / 15
  • 27. How Developers Spend their Effort Factors Affecting Effort Z´phyrin Soh et al. e Developers’ Experience (1/2) Introduction Developers’ Experience Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion 13 / 15 NB NF and NLOC (Overall and relevant)
  • 28. How Developers Spend their Effort Factors Affecting Effort Z´phyrin Soh et al. e Developers’ Experience (1/2) Introduction Developers’ Experience Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Factors Affecting Effort Z´phyrin Soh et al. e Developers’ Experience (1/2) Introduction Developers’ Experience Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Factors Affecting Effort Z´phyrin Soh et al. e Developers’ Experience (1/2) Introduction Developers’ Experience Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Factors Affecting Effort Z´phyrin Soh et al. e Developers’ Experience (2/2) Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort Additional Files Bug Severity Developers’ Experience Conclusion Developers’ Experience Developers experience does not reduce their effort 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 Effort Conclusion Z´phyrin Soh et al. e Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Conclusion Z´phyrin Soh et al. e Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Conclusion Z´phyrin Soh et al. e Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Conclusion Z´phyrin Soh et al. e Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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 Effort Conclusion Z´phyrin Soh et al. e Thanks for your attention! Introduction Context and Example Data Effort vs. Complexity Research Question Metrics Matching Results Factors Affecting Effort 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