SlideShare a Scribd company logo
1 of 61
Download to read offline
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

On the Effect of Program Exploration on
Maintenance Tasks

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

Z´phyrin Soh, Foutse Khomh, Yann-Ga¨l Gu´h´neuc,
e
e
e e
Giuliano Antoniol, Bram Adams
Department of Computer and Software Engineering
´
Ecole Polytechnique de Montr´al, Qu´bec, Canada
e
e

October 14, 2013

Pattern Trace Identification, Detection, and Enhancement in Java
SOftware Cost-effective Change and Evolution Research Lab
Program
Exploration

Outline

Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Introduction

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

User Study

Empirical Study

Conclusion and Future Work

2 / 23
Program
Exploration
Z´phyrin Soh et al.
e

Introduction
Context and Example (1/3)

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

3 / 23

Program Exploration
Developers interact with program entities, e.g., open
files, edit methods, etc.
Developers explore the program, i.e., move from
program entities to program entities.
Types of program entities.
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

4 / 23

Introduction
Context and Example (2/3)
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

4 / 23

Introduction
Context and Example (2/3)
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

4 / 23

Introduction
Context and Example (2/3)
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

4 / 23

Containment
Introduction principle:
the exploration graph
Context and Example (2/3)

Aggregate
at class level
Program
Exploration
Z´phyrin Soh et al.
e

Introduction
Context and Example (2/3)

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

4 / 23

Exploration graph aggregated at class level
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

5 / 23

Introduction
Context and Example (3/3)
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

5 / 23

Introduction
Context and Example (3/3)
Program
Exploration

Introduction

Z´phyrin Soh et al.
e

Context and Example (3/3)
A graph

represents a program exploration

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

(a) Graph 1

(b) Graph 2

Is there any difference between exploration graphs?
How to find the difference?
How does the difference affect the maintenance tasks?
5 / 23
Program
Exploration
Z´phyrin Soh et al.
e

Introduction
Why do we care? (1/3)

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work

Research on Program Exploration
Developers spend on average 35% of their time
navigating within and between source files [1]
Developers perform on average 19.31 navigation actions
between two modifications [2]

Conclusion
Threats to Validity
and Future Work

[1] Ko et al., An exploratory study of how developers seek, relate, and collect
relevant information during software maintenance tasks. TSE 2006
[2] D. R¨thlisberger, SmartGroups: Focusing on Task-Relevant Source
o
Artifacts in IDEs, ICPC 2011

6 / 23
Program
Exploration
Z´phyrin Soh et al.
e

Introduction
Why do we care? (2/3)

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

Reasons of Program Exploration
Developers may have several different ways to explore a
program e.g.,
Looking for relevant entities ⇒ Some developers (may)
not know where to look at.
Validate previous changes ⇒ Developers (may) know
the target entity to look at.

⇒ In some cases, developers may perform more back and
forth navigations (i.e., revisitation) on program entities

7 / 23
Program
Exploration
Z´phyrin Soh et al.
e

Introduction
Why do we care? (3/3)

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

Revisitation-based Exploration
Some recommendation systems (e.g., Mylyn [3],
NavClus [4]) are based on the revisitation of program
entities
We wonder if revisitation is “good“ or “bad“
⇒ Knowing that is helpful to improve revisitation-based
approach for recommendation systems.

[3] Kersten and Murphy, Mylar: a degree-of-interest model for IDEs, AOSD
2005
[4] Lee and Kang, Clustering and recommending collections of code relevant
to tasks, ICSM 2011

8 / 23
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Research Question

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

9 / 23

Exploration Strategies
In the revisitation-based exploration, we focus on two
extreme cases:
Referenced Exploration (RE): A developer revisits one
(or a set of) entity(ies) already visited
⇒ referenced entities
Unreferenced Exploration (UE): There is no set of
referenced entities
⇒ Almost the same revisitation of program entity(ies)
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Research Question

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

Exploration Strategies
In the revisitation-based exploration, we focus on two
extreme cases:
Referenced Exploration (RE): A developer revisits one
(or a set of) entity(ies) already visited
⇒ referenced entities
Unreferenced Exploration (UE): There is no set of
referenced entities
⇒ Almost the same revisitation of program entity(ies)

Do developers follow a referenced exploration when
performing maintenance tasks?

9 / 23
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

10 / 23

User Study
Approach (1/5)

Data Collection
Mylyn’s IHs appear as attachment (XML file with name
“mylyn-context.zip”) to a bug
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

User Study
Approach (1/5)

Data Collection
Mylyn’s IHs appear as attachment (XML file with name
“mylyn-context.zip”) to a bug

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

Top four Eclipse projects with more IHs (from 2,601 bugs)
ECF Mylyn PDE Platform Total
# IHs
26
1,273
131
275 1,705
10 / 23
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Approach (2/5)

How do we build an oracle?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

11 / 23

Random sample of IHs
(proportional among projects)
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Approach (2/5)

How do we build an oracle?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

11 / 23

Random sample of IHs
(proportional among projects)
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (2/5)

Introduction

How do we build an oracle?

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Random sample of IHs
(proportional among projects)

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

9 subjects
Java experience
- mean : 4.16 yrs
-sd : 2.80 yrs

11 / 23
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (2/5)

Introduction

How do we build an oracle?

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Random sample of IHs
(proportional among projects)

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

9 subjects
Java experience
- mean : 4.16 yrs
-sd : 2.80 yrs

11 / 23
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (2/5)

Introduction

How do we build an oracle?

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Random sample of IHs
(proportional among projects)

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

9 subjects
Java experience
- mean : 4.16 yrs
-sd : 2.80 yrs

RE
11 / 23

UE

D
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (2/5)

Introduction

How do we build an oracle?

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Random sample of IHs
(proportional among projects)

Empirical Study
Research Questions
RQ1
RQ2
Discussions

How much the subjects agreed?
Fliess' Kappa interater agreement coeficient

Conclusion and
Future Work

- Overall: fair agreement (0.36)
- RE: almost moderate agreement (0.38)
- UE: almost moderate agreement (0.39)
- Doubt: No agreement (-0.009)

Conclusion
Threats to Validity
and Future Work

9 subjects
Java experience
- mean : 4.16 yrs
-sd : 2.80 yrs

RE
11 / 23

UE

D
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (3/5)

Introduction
Context and Example
Why do we care?

How do we aggregate the results?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

RE

12 / 23

RE

UE

UE

D
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (3/5)

Introduction
Context and Example
Why do we care?

How do we aggregate the results?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

RE

RE

UE

>= 2/3 subjects

RE
12 / 23

UE

D
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (3/5)

Introduction
Context and Example
Why do we care?

How do we aggregate the results?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

RE

RE

UE

UE

>= 2/3 subjects

UE
12 / 23

D
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (3/5)

Introduction
Context and Example
Why do we care?

How do we aggregate the results?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

RE

RE

UE

< 2/3 subjects

< 2/3 subjects

D
12 / 23

UE

D
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

13 / 23

User Study
Approach (4/5)

Identification Technique
Subjects count the number of nodes and the number of in/out arrows in the graphs
⇒ look at the distribution/inequality of revisits across graphs
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

User Study
Approach (4/5)

Identification Technique
Subjects count the number of nodes and the number of in/out arrows in the graphs
⇒ look at the distribution/inequality of revisits across graphs

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

Gini Inequality Index [5]
We measure how much classes are (in)equally revisited
Used in econometrics to measure the inequality of
income among a population
Population = classes
Income of a class = NumRevisits
Gini(IH) =

1
2n2 µ

n

n

i=1 j=1

| NumRevisit(eni ) − NumRevisit(enj ) |

[5] K. Xu, How has the literature on Gini’s index evolved in the past 80 years?,
Technical report, Department of Economics, Dalhouse University, 2004
13 / 23
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (5/5)

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

14 / 23

Inequality Index Threshold
Define a threshold to know if classes are (in)equally revisited
If Gini(IH) < Threshold
⇒ Classes are almost equally revisited
⇒ UE: Unreferenced Exploration
If Gini(IH) ≥ Threshold
⇒ Some classes are more revisited than others
⇒ RE: Referenced Exploration
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (5/5)

Introduction

Inequality Index Threshold

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

0
Perfect
equality

14 / 23

1

Maximum
inequality
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (5/5)

Introduction

Inequality Index Threshold

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Threshold ?

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

0
Perfect
equality

14 / 23

1

Maximum
inequality
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Approach (5/5)

Inequality Index Threshold

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

14 / 23

RE
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (5/5)

Introduction

Inequality Index Threshold

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

RE

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work

0.28

Conclusion
Threats to Validity
and Future Work

0
Perfect
equality

14 / 23

1

Maximum
inequality
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (5/5)

Introduction

Inequality Index Threshold

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

RE

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work

0.28

Conclusion
Threats to Validity
and Future Work

0
Perfect
equality

14 / 23

0.2

0.3

- Threshold = 0.2 ==> RE
- Threshold = 0.3 ==> UE

1

Maximum
inequality
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (5/5)

Introduction

Inequality Index Threshold

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

RE

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work

0.4

Conclusion
Threats to Validity
and Future Work

0
Perfect
equality

1

Maximum
inequality

Use F-Measure to maximize both precision and recall
14 / 23
Program
Exploration
Z´phyrin Soh et al.
e

User Study
Approach (5/5)

Introduction

Inequality Index Threshold

Context and Example
Why do we care?

User Study
Research Question
Approach
Results

RE

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work

0.4

Conclusion
Threats to Validity
and Future Work

0
Perfect
equality

1
UE

RE

Maximum
inequality

Use F-Measure to maximize both precision and recall
14 / 23
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

15 / 23

User Study
Results (1/2)

Percentage RE vs. UE
RE: 28.03% of Interaction Histories
UE: 71.96% of Interaction Histories
⇒ Developers follow mostly the unreferenced
exploration (UE) when performing a maintenance task.
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

User Study
Results (1/2)

Percentage RE vs. UE
RE: 28.03% of Interaction Histories
UE: 71.96% of Interaction Histories
⇒ Developers follow mostly the unreferenced
exploration (UE) when performing a maintenance task.
Methodical developers do not reinvestigate methods as
frequently as opportunistic developers [6]
RE = opportunistic developers?
UE = methodical developers?
⇒ We need more investigations
[6] Robillard et al., How effective developers investigate source code: An
exploratory study, TSE 2004

15 / 23
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

16 / 23

User Study
Results (2/2)

Confounding Factors
Architecture of the system
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

16 / 23

User Study
Results (2/2)

Confounding Factors
Architecture of the system
Number of common classes (NCC): The more A and B
have CC, the more they used the same part of the
system
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

16 / 23

User Study
Results (2/2)

Confounding Factors
Architecture of the system
Number of common classes (NCC): The more A and B
have CC, the more they used the same part of the
system
Compute NCC for each pair of IH.
NCC pairs with same ES vs. NCC pairs with different
ES ⇒ No difference.
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

16 / 23

User Study
Results (2/2)

Confounding Factors
Architecture of the system
Number of common classes (NCC): The more A and B
have CC, the more they used the same part of the
system
Compute NCC for each pair of IH.
NCC pairs with same ES vs. NCC pairs with different
ES ⇒ No difference.

Task interruption: The interruption time seems to push
developers to be concentrate on a set of (referenced)
entities (RE)
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

User Study
Results (2/2)

Confounding Factors
Architecture of the system
Number of common classes (NCC): The more A and B
have CC, the more they used the same part of the
system
Compute NCC for each pair of IH.
NCC pairs with same ES vs. NCC pairs with different
ES ⇒ No difference.

Task interruption: The interruption time seems to push
developers to be concentrate on a set of (referenced)
entities (RE)
Type of the task: Bug severity because developers may
have more back and forth navigation when fixing severe
bugs wrt. less severe bugs
Inequality Indexes are not significantly different for
different types of bugs.

16 / 23
Program
Exploration
Z´phyrin Soh et al.
e

Empirical Study
Research Questions

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Research Questions

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Does any difference exist in maintenance time between RE and UE?

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

17 / 23

Does any difference exist in edit/navigation ratio
between RE and UE?
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

18 / 23

Empirical Study
RQ1

Approach
Overall Time spend =
Unpaired Wilcoxon test

Duration(entity )
#entity

entity ∈IH
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
RQ1

Approach
Overall Time spend =

Duration(entity )
#entity

entity ∈IH

Unpaired Wilcoxon test

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

18 / 23

Results
The UE is on average 12.30% less time consuming
than the RE.
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

19 / 23

Empirical Study
RQ2

Approach
Edit/navigation ratio =
Unpaired Wilcoxon test

NumEdit(IH)
NumEvent(IH)
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

19 / 23

Empirical Study
RQ2

Approach
Edit/navigation ratio =

NumEdit(IH)
NumEvent(IH)

Unpaired Wilcoxon test

Results
An UE requires less edit/navigation ratio than a
RE.
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

20 / 23

Empirical Study
Discussions

Is there a good strategy?
RE (more) ⇒ The back and forth actions on refUE (less) erenced entities are time consuming
⇒ More edit actions compare to navRE (more)
igation actions. Wrong edits/modif.
UE (less)
then come back to revert/cancel?
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

Empirical Study
Discussions

Is there a good strategy?
RE (more) ⇒ The back and forth actions on refUE (less) erenced entities are time consuming

User Study
Research Question
Approach
Results

Empirical Study

⇒ More edit actions compare to navRE (more)
igation actions. Wrong edits/modif.
UE (less)
then come back to revert/cancel?

Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

RE
F1

F2

F1

F3

F1

F4

F1

F2

F3

F1

F4

F5

UE

20 / 23

4/8 > 3/6 (RE better)

F2

3/6

F5

4/8
Program
Exploration
Z´phyrin Soh et al.
e
Introduction
Context and Example
Why do we care?

Empirical Study
Discussions

Is there a good strategy?
RE (more) ⇒ The back and forth actions on refUE (less) erenced entities are time consuming

User Study
Research Question
Approach
Results

Empirical Study

⇒ More edit actions compare to navRE (more)
igation actions. Wrong edits/modif.
UE (less)
then come back to revert/cancel?

Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

RE
F1

F2

F1

F3

F1

F4

F1

F2

F3

F1

F4

F5

UE

20 / 23

4/8 > 3/6 (RE better)

F2

3/6

F5

4/8

2/8

2/6

2/8 < 2/6 (UE better)
Program
Exploration
Z´phyrin Soh et al.
e

Conclusion and Future Work
Conclusion

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

RE

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

21 / 23

0.4
0
Perfect
equality

1
UE

RE

Maximum
inequality

Use F-Measure to maximize both precision and recall
Program
Exploration
Z´phyrin Soh et al.
e

Conclusion and Future Work
Conclusion

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

RE

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

21 / 23

0.4
0
Perfect
equality

1
UE

RE

Maximum
inequality

Use F-Measure to maximize both precision and recall
Program
Exploration
Z´phyrin Soh et al.
e

Conclusion and Future Work
Conclusion

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

RE

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

21 / 23

0.4
0
Perfect
equality

1
UE

RE

Maximum
inequality

Use F-Measure to maximize both precision and recall
Program
Exploration
Z´phyrin Soh et al.
e

Conclusion and Future Work
Threats to Validity and Future Work

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

22 / 23

Threats to Validity and Future Work
Construct validity: An IH can be a part of developers’
work
Program
Exploration
Z´phyrin Soh et al.
e

Conclusion and Future Work
Threats to Validity and Future Work

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

22 / 23

Threats to Validity and Future Work
Construct validity: An IH can be a part of developers’
work
Conclusion validity: The time recorded can be
different to the “real” time spent
⇒ Perform an experiment to collect a data
Program
Exploration
Z´phyrin Soh et al.
e

Conclusion and Future Work
Threats to Validity and Future Work

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

22 / 23

Threats to Validity and Future Work
Construct validity: An IH can be a part of developers’
work
Conclusion validity: The time recorded can be
different to the “real” time spent
⇒ Perform an experiment to collect a data
Internal validity: We use only Mylyn’s IH
⇒ Use the IH from other tools
Program
Exploration
Z´phyrin Soh et al.
e

Conclusion and Future Work
Threats to Validity and Future Work

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

Threats to Validity and Future Work
Construct validity: An IH can be a part of developers’
work
Conclusion validity: The time recorded can be
different to the “real” time spent
⇒ Perform an experiment to collect a data
Internal validity: We use only Mylyn’s IH
⇒ Use the IH from other tools
External validity: Our subject projets are Eclipse-based
projects
⇒ Use other systems

22 / 23
Program
Exploration
Z´phyrin Soh et al.
e

Thanks for your attention!

Introduction
Context and Example
Why do we care?

User Study
Research Question
Approach
Results

RE

Empirical Study
Research Questions
RQ1
RQ2
Discussions

Conclusion and
Future Work
Conclusion
Threats to Validity
and Future Work

23 / 23

0.4
0
Perfect
equality

1
UE

RE

Maximum
inequality

Use F-Measure to maximize both precision and recall

More Related Content

What's hot

Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overviewalessio_ferrari
 
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...CS, NcState
 
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...CSCJournals
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testingjfrchicanog
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTscatherinewall
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directionsTao He
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsAhmed Magdy Ezzeldin, MSc.
 
Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Vrije Universiteit Brussel
 
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 mutationsTao He
 
PM2 ARTICALS
PM2 ARTICALSPM2 ARTICALS
PM2 ARTICALSra na
 
Qualitative data analysis in design research
Qualitative data analysis in design researchQualitative data analysis in design research
Qualitative data analysis in design researchEva Durall
 
Speeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational IntelligenceSpeeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational IntelligenceAnnibale Panichella
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptPtidej Team
 
A Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesA Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesSung Kim
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryTim Menzies
 

What's hot (18)

Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overview
 
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...
 
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testing
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithms
 
Automatic Traceability
Automatic TraceabilityAutomatic Traceability
Automatic Traceability
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...
 
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
 
PM2 ARTICALS
PM2 ARTICALSPM2 ARTICALS
PM2 ARTICALS
 
Icsm20.ppt
Icsm20.pptIcsm20.ppt
Icsm20.ppt
 
Qualitative data analysis in design research
Qualitative data analysis in design researchQualitative data analysis in design research
Qualitative data analysis in design research
 
Speeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational IntelligenceSpeeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational Intelligence
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
 
A Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesA Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution Techniques
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern Discovery
 

Viewers also liked

131016 wcre-matching
131016   wcre-matching131016   wcre-matching
131016 wcre-matchingZephyrin Soh
 
Noises in Interactions Traces Data and their Impact on Previous Studies
Noises in Interactions Traces Data and their Impact on Previous StudiesNoises in Interactions Traces Data and their Impact on Previous Studies
Noises in Interactions Traces Data and their Impact on Previous StudiesZephyrin Soh
 
Eage ior-conference-2013 final
Eage ior-conference-2013 finalEage ior-conference-2013 final
Eage ior-conference-2013 finalJoel R. Warren
 
A matemática do triângulo retângulo (8ª série)
A matemática do triângulo retângulo   (8ª série)A matemática do triângulo retângulo   (8ª série)
A matemática do triângulo retângulo (8ª série)SENHORINHA GOI
 
From Shadows to Limelight: How women found their voice at WordCamp Montreal
From Shadows to Limelight: How women found their voice at WordCamp MontrealFrom Shadows to Limelight: How women found their voice at WordCamp Montreal
From Shadows to Limelight: How women found their voice at WordCamp MontrealKathryn Presner
 
Biodata Ika
Biodata IkaBiodata Ika
Biodata IkaSifoo FC
 
Biodata Lisa
Biodata LisaBiodata Lisa
Biodata LisaSifoo FC
 
Tirada tarot tirada de la cruz de 13
Tirada tarot   tirada de la cruz de 13Tirada tarot   tirada de la cruz de 13
Tirada tarot tirada de la cruz de 13Lara Tarot de Verdad
 

Viewers also liked (17)

2016 despertar
2016 despertar2016 despertar
2016 despertar
 
Contract lecture
Contract lectureContract lecture
Contract lecture
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
Calculus II
Calculus IICalculus II
Calculus II
 
131016 wcre-matching
131016   wcre-matching131016   wcre-matching
131016 wcre-matching
 
Noises in Interactions Traces Data and their Impact on Previous Studies
Noises in Interactions Traces Data and their Impact on Previous StudiesNoises in Interactions Traces Data and their Impact on Previous Studies
Noises in Interactions Traces Data and their Impact on Previous Studies
 
Eage ior-conference-2013 final
Eage ior-conference-2013 finalEage ior-conference-2013 final
Eage ior-conference-2013 final
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
A matemática do triângulo retângulo (8ª série)
A matemática do triângulo retângulo   (8ª série)A matemática do triângulo retângulo   (8ª série)
A matemática do triângulo retângulo (8ª série)
 
C# problems
C# problemsC# problems
C# problems
 
Satuan acara pembelajaran
Satuan acara pembelajaranSatuan acara pembelajaran
Satuan acara pembelajaran
 
From Shadows to Limelight: How women found their voice at WordCamp Montreal
From Shadows to Limelight: How women found their voice at WordCamp MontrealFrom Shadows to Limelight: How women found their voice at WordCamp Montreal
From Shadows to Limelight: How women found their voice at WordCamp Montreal
 
Biodata Ika
Biodata IkaBiodata Ika
Biodata Ika
 
Biodata Lisa
Biodata LisaBiodata Lisa
Biodata Lisa
 
Tirada tarot tirada de la cruz de 13
Tirada tarot   tirada de la cruz de 13Tirada tarot   tirada de la cruz de 13
Tirada tarot tirada de la cruz de 13
 

Similar to 131014 wcre-exploration

A Survey on Software Release Planning Models - Slides for the Presentation @ ...
A Survey on Software Release Planning Models - Slides for the Presentation @ ...A Survey on Software Release Planning Models - Slides for the Presentation @ ...
A Survey on Software Release Planning Models - Slides for the Presentation @ ...Supersede
 
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 ...acijjournal
 
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 ...acijjournal
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentFrancis Palma
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineeringsarfraznawaz
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanationUmar Farooq
 
An Application-Oriented Approach for Computer Security Education
An Application-Oriented Approach for Computer Security EducationAn Application-Oriented Approach for Computer Security Education
An Application-Oriented Approach for Computer Security EducationXiao Qin
 
Thesis+of+zohreh+sharafi.ppt
Thesis+of+zohreh+sharafi.pptThesis+of+zohreh+sharafi.ppt
Thesis+of+zohreh+sharafi.pptPtidej Team
 
Determining The Barriers Faced By Novice Programmers
Determining The Barriers Faced By Novice ProgrammersDetermining The Barriers Faced By Novice Programmers
Determining The Barriers Faced By Novice ProgrammersWaqas Tariq
 
A Systematic Mapping Review of Software Quality Measurement: Research Trends,...
A Systematic Mapping Review of Software Quality Measurement: Research Trends,...A Systematic Mapping Review of Software Quality Measurement: Research Trends,...
A Systematic Mapping Review of Software Quality Measurement: Research Trends,...IJECEIAES
 
Promise 2011: "A Principled Evaluation of Ensembles of Learning Machines for ...
Promise 2011: "A Principled Evaluation of Ensembles of Learning Machines for ...Promise 2011: "A Principled Evaluation of Ensembles of Learning Machines for ...
Promise 2011: "A Principled Evaluation of Ensembles of Learning Machines for ...CS, NcState
 

Similar to 131014 wcre-exploration (20)

Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
A Survey on Software Release Planning Models - Slides for the Presentation @ ...
A Survey on Software Release Planning Models - Slides for the Presentation @ ...A Survey on Software Release Planning Models - Slides for the Presentation @ ...
A Survey on Software Release Planning Models - Slides for the Presentation @ ...
 
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 ...
 
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 ...
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software Development
 
PowerPoint-based quizzes in wave motion: Performance and experiences of students
PowerPoint-based quizzes in wave motion: Performance and experiences of studentsPowerPoint-based quizzes in wave motion: Performance and experiences of students
PowerPoint-based quizzes in wave motion: Performance and experiences of students
 
M018147883
M018147883M018147883
M018147883
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineering
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
An Application-Oriented Approach for Computer Security Education
An Application-Oriented Approach for Computer Security EducationAn Application-Oriented Approach for Computer Security Education
An Application-Oriented Approach for Computer Security Education
 
Thesis+of+zohreh+sharafi.ppt
Thesis+of+zohreh+sharafi.pptThesis+of+zohreh+sharafi.ppt
Thesis+of+zohreh+sharafi.ppt
 
Chapter 2 modeling the process and life-cycle
Chapter 2  modeling the process and life-cycleChapter 2  modeling the process and life-cycle
Chapter 2 modeling the process and life-cycle
 
Determining The Barriers Faced By Novice Programmers
Determining The Barriers Faced By Novice ProgrammersDetermining The Barriers Faced By Novice Programmers
Determining The Barriers Faced By Novice Programmers
 
Hh3512801283
Hh3512801283Hh3512801283
Hh3512801283
 
A Systematic Mapping Review of Software Quality Measurement: Research Trends,...
A Systematic Mapping Review of Software Quality Measurement: Research Trends,...A Systematic Mapping Review of Software Quality Measurement: Research Trends,...
A Systematic Mapping Review of Software Quality Measurement: Research Trends,...
 
Promise 2011: "A Principled Evaluation of Ensembles of Learning Machines for ...
Promise 2011: "A Principled Evaluation of Ensembles of Learning Machines for ...Promise 2011: "A Principled Evaluation of Ensembles of Learning Machines for ...
Promise 2011: "A Principled Evaluation of Ensembles of Learning Machines for ...
 

Recently uploaded

Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdfBreath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdfJess Walker
 
Cheap Rate ➥8448380779 ▻Call Girls In Mg Road Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Mg Road GurgaonCheap Rate ➥8448380779 ▻Call Girls In Mg Road Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Mg Road GurgaonDelhi Call girls
 
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝soniya singh
 
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改atducpo
 
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,dollysharma2066
 
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female serviceanilsa9823
 
Postal Ballot procedure for employees to utilise
Postal Ballot procedure for employees to utilisePostal Ballot procedure for employees to utilise
Postal Ballot procedure for employees to utiliseccsubcollector
 
《塔夫斯大学毕业证成绩单购买》做Tufts文凭毕业证成绩单/伪造美国假文凭假毕业证书图片Q微信741003700《塔夫斯大学毕业证购买》《Tufts毕业文...
《塔夫斯大学毕业证成绩单购买》做Tufts文凭毕业证成绩单/伪造美国假文凭假毕业证书图片Q微信741003700《塔夫斯大学毕业证购买》《Tufts毕业文...《塔夫斯大学毕业证成绩单购买》做Tufts文凭毕业证成绩单/伪造美国假文凭假毕业证书图片Q微信741003700《塔夫斯大学毕业证购买》《Tufts毕业文...
《塔夫斯大学毕业证成绩单购买》做Tufts文凭毕业证成绩单/伪造美国假文凭假毕业证书图片Q微信741003700《塔夫斯大学毕业证购买》《Tufts毕业文...ur8mqw8e
 
Call Girls Anjuna beach Mariott Resort ₰8588052666
Call Girls Anjuna beach Mariott Resort ₰8588052666Call Girls Anjuna beach Mariott Resort ₰8588052666
Call Girls Anjuna beach Mariott Resort ₰8588052666nishakur201
 
call girls in candolim beach 9870370636] NORTH GOA ..
call girls in candolim beach 9870370636] NORTH GOA ..call girls in candolim beach 9870370636] NORTH GOA ..
call girls in candolim beach 9870370636] NORTH GOA ..nishakur201
 
Understanding Relationship Anarchy: A Guide to Liberating Love | CIO Women Ma...
Understanding Relationship Anarchy: A Guide to Liberating Love | CIO Women Ma...Understanding Relationship Anarchy: A Guide to Liberating Love | CIO Women Ma...
Understanding Relationship Anarchy: A Guide to Liberating Love | CIO Women Ma...CIOWomenMagazine
 
Lilac Illustrated Social Psychology Presentation.pptx
Lilac Illustrated Social Psychology Presentation.pptxLilac Illustrated Social Psychology Presentation.pptx
Lilac Illustrated Social Psychology Presentation.pptxABMWeaklings
 
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...Leko Durda
 
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual serviceanilsa9823
 
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdfREFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdfssusere8ea60
 
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot AndCall Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot AndPooja Nehwal
 
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...anilsa9823
 
The Selfspace Journal Preview by Mindbrush
The Selfspace Journal Preview by MindbrushThe Selfspace Journal Preview by Mindbrush
The Selfspace Journal Preview by MindbrushShivain97
 

Recently uploaded (20)

Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdfBreath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
Breath, Brain & Beyond_A Holistic Approach to Peak Performance.pdf
 
Cheap Rate ➥8448380779 ▻Call Girls In Mg Road Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Mg Road GurgaonCheap Rate ➥8448380779 ▻Call Girls In Mg Road Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Mg Road Gurgaon
 
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Lado Sarai Delhi reach out to us at 🔝9953056974🔝
 
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Kalyan Vihar Delhi 💯 Call Us 🔝8264348440🔝
 
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
办理国外毕业证学位证《原版美国montana文凭》蒙大拿州立大学毕业证制作成绩单修改
 
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
8377087607 Full Enjoy @24/7-CLEAN-Call Girls In Chhatarpur,
 
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Adil Nagar Lucknow best Female service
 
Postal Ballot procedure for employees to utilise
Postal Ballot procedure for employees to utilisePostal Ballot procedure for employees to utilise
Postal Ballot procedure for employees to utilise
 
《塔夫斯大学毕业证成绩单购买》做Tufts文凭毕业证成绩单/伪造美国假文凭假毕业证书图片Q微信741003700《塔夫斯大学毕业证购买》《Tufts毕业文...
《塔夫斯大学毕业证成绩单购买》做Tufts文凭毕业证成绩单/伪造美国假文凭假毕业证书图片Q微信741003700《塔夫斯大学毕业证购买》《Tufts毕业文...《塔夫斯大学毕业证成绩单购买》做Tufts文凭毕业证成绩单/伪造美国假文凭假毕业证书图片Q微信741003700《塔夫斯大学毕业证购买》《Tufts毕业文...
《塔夫斯大学毕业证成绩单购买》做Tufts文凭毕业证成绩单/伪造美国假文凭假毕业证书图片Q微信741003700《塔夫斯大学毕业证购买》《Tufts毕业文...
 
Call Girls Anjuna beach Mariott Resort ₰8588052666
Call Girls Anjuna beach Mariott Resort ₰8588052666Call Girls Anjuna beach Mariott Resort ₰8588052666
Call Girls Anjuna beach Mariott Resort ₰8588052666
 
call girls in candolim beach 9870370636] NORTH GOA ..
call girls in candolim beach 9870370636] NORTH GOA ..call girls in candolim beach 9870370636] NORTH GOA ..
call girls in candolim beach 9870370636] NORTH GOA ..
 
Understanding Relationship Anarchy: A Guide to Liberating Love | CIO Women Ma...
Understanding Relationship Anarchy: A Guide to Liberating Love | CIO Women Ma...Understanding Relationship Anarchy: A Guide to Liberating Love | CIO Women Ma...
Understanding Relationship Anarchy: A Guide to Liberating Love | CIO Women Ma...
 
Lilac Illustrated Social Psychology Presentation.pptx
Lilac Illustrated Social Psychology Presentation.pptxLilac Illustrated Social Psychology Presentation.pptx
Lilac Illustrated Social Psychology Presentation.pptx
 
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
Reinventing Corporate Philanthropy_ Strategies for Meaningful Impact by Leko ...
 
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Aliganj Lucknow best sexual service
 
escort service sasti (*~Call Girls in Paschim Vihar Metro❤️9953056974
escort service  sasti (*~Call Girls in Paschim Vihar Metro❤️9953056974escort service  sasti (*~Call Girls in Paschim Vihar Metro❤️9953056974
escort service sasti (*~Call Girls in Paschim Vihar Metro❤️9953056974
 
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdfREFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
REFLECTIONS Newsletter Jan-Jul 2024.pdf.pdf
 
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot AndCall Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
Call Girls In Andheri East Call US Pooja📞 9892124323 Book Hot And
 
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
Lucknow 💋 High Class Call Girls Lucknow 10k @ I'm VIP Independent Escorts Gir...
 
The Selfspace Journal Preview by Mindbrush
The Selfspace Journal Preview by MindbrushThe Selfspace Journal Preview by Mindbrush
The Selfspace Journal Preview by Mindbrush
 

131014 wcre-exploration

  • 1. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results On the Effect of Program Exploration on Maintenance Tasks Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work Z´phyrin Soh, Foutse Khomh, Yann-Ga¨l Gu´h´neuc, e e e e Giuliano Antoniol, Bram Adams Department of Computer and Software Engineering ´ Ecole Polytechnique de Montr´al, Qu´bec, Canada e e October 14, 2013 Pattern Trace Identification, Detection, and Enhancement in Java SOftware Cost-effective Change and Evolution Research Lab
  • 2. Program Exploration Outline Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Introduction Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work User Study Empirical Study Conclusion and Future Work 2 / 23
  • 3. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example (1/3) Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 3 / 23 Program Exploration Developers interact with program entities, e.g., open files, edit methods, etc. Developers explore the program, i.e., move from program entities to program entities. Types of program entities.
  • 4. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 23 Introduction Context and Example (2/3)
  • 5. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 23 Introduction Context and Example (2/3)
  • 6. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 23 Introduction Context and Example (2/3)
  • 7. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 23 Containment Introduction principle: the exploration graph Context and Example (2/3) Aggregate at class level
  • 8. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example (2/3) Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 23 Exploration graph aggregated at class level
  • 9. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 5 / 23 Introduction Context and Example (3/3)
  • 10. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 5 / 23 Introduction Context and Example (3/3)
  • 11. Program Exploration Introduction Z´phyrin Soh et al. e Context and Example (3/3) A graph represents a program exploration Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work (a) Graph 1 (b) Graph 2 Is there any difference between exploration graphs? How to find the difference? How does the difference affect the maintenance tasks? 5 / 23
  • 12. Program Exploration Z´phyrin Soh et al. e Introduction Why do we care? (1/3) Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Research on Program Exploration Developers spend on average 35% of their time navigating within and between source files [1] Developers perform on average 19.31 navigation actions between two modifications [2] Conclusion Threats to Validity and Future Work [1] Ko et al., An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. TSE 2006 [2] D. R¨thlisberger, SmartGroups: Focusing on Task-Relevant Source o Artifacts in IDEs, ICPC 2011 6 / 23
  • 13. Program Exploration Z´phyrin Soh et al. e Introduction Why do we care? (2/3) Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work Reasons of Program Exploration Developers may have several different ways to explore a program e.g., Looking for relevant entities ⇒ Some developers (may) not know where to look at. Validate previous changes ⇒ Developers (may) know the target entity to look at. ⇒ In some cases, developers may perform more back and forth navigations (i.e., revisitation) on program entities 7 / 23
  • 14. Program Exploration Z´phyrin Soh et al. e Introduction Why do we care? (3/3) Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work Revisitation-based Exploration Some recommendation systems (e.g., Mylyn [3], NavClus [4]) are based on the revisitation of program entities We wonder if revisitation is “good“ or “bad“ ⇒ Knowing that is helpful to improve revisitation-based approach for recommendation systems. [3] Kersten and Murphy, Mylar: a degree-of-interest model for IDEs, AOSD 2005 [4] Lee and Kang, Clustering and recommending collections of code relevant to tasks, ICSM 2011 8 / 23
  • 15. Program Exploration Z´phyrin Soh et al. e User Study Research Question Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 9 / 23 Exploration Strategies In the revisitation-based exploration, we focus on two extreme cases: Referenced Exploration (RE): A developer revisits one (or a set of) entity(ies) already visited ⇒ referenced entities Unreferenced Exploration (UE): There is no set of referenced entities ⇒ Almost the same revisitation of program entity(ies)
  • 16. Program Exploration Z´phyrin Soh et al. e User Study Research Question Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work Exploration Strategies In the revisitation-based exploration, we focus on two extreme cases: Referenced Exploration (RE): A developer revisits one (or a set of) entity(ies) already visited ⇒ referenced entities Unreferenced Exploration (UE): There is no set of referenced entities ⇒ Almost the same revisitation of program entity(ies) Do developers follow a referenced exploration when performing maintenance tasks? 9 / 23
  • 17. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 10 / 23 User Study Approach (1/5) Data Collection Mylyn’s IHs appear as attachment (XML file with name “mylyn-context.zip”) to a bug
  • 18. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results User Study Approach (1/5) Data Collection Mylyn’s IHs appear as attachment (XML file with name “mylyn-context.zip”) to a bug Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work Top four Eclipse projects with more IHs (from 2,601 bugs) ECF Mylyn PDE Platform Total # IHs 26 1,273 131 275 1,705 10 / 23
  • 19. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Approach (2/5) How do we build an oracle? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 11 / 23 Random sample of IHs (proportional among projects)
  • 20. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Approach (2/5) How do we build an oracle? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 11 / 23 Random sample of IHs (proportional among projects)
  • 21. Program Exploration Z´phyrin Soh et al. e User Study Approach (2/5) Introduction How do we build an oracle? Context and Example Why do we care? User Study Research Question Approach Results Random sample of IHs (proportional among projects) Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 9 subjects Java experience - mean : 4.16 yrs -sd : 2.80 yrs 11 / 23
  • 22. Program Exploration Z´phyrin Soh et al. e User Study Approach (2/5) Introduction How do we build an oracle? Context and Example Why do we care? User Study Research Question Approach Results Random sample of IHs (proportional among projects) Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 9 subjects Java experience - mean : 4.16 yrs -sd : 2.80 yrs 11 / 23
  • 23. Program Exploration Z´phyrin Soh et al. e User Study Approach (2/5) Introduction How do we build an oracle? Context and Example Why do we care? User Study Research Question Approach Results Random sample of IHs (proportional among projects) Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 9 subjects Java experience - mean : 4.16 yrs -sd : 2.80 yrs RE 11 / 23 UE D
  • 24. Program Exploration Z´phyrin Soh et al. e User Study Approach (2/5) Introduction How do we build an oracle? Context and Example Why do we care? User Study Research Question Approach Results Random sample of IHs (proportional among projects) Empirical Study Research Questions RQ1 RQ2 Discussions How much the subjects agreed? Fliess' Kappa interater agreement coeficient Conclusion and Future Work - Overall: fair agreement (0.36) - RE: almost moderate agreement (0.38) - UE: almost moderate agreement (0.39) - Doubt: No agreement (-0.009) Conclusion Threats to Validity and Future Work 9 subjects Java experience - mean : 4.16 yrs -sd : 2.80 yrs RE 11 / 23 UE D
  • 25. Program Exploration Z´phyrin Soh et al. e User Study Approach (3/5) Introduction Context and Example Why do we care? How do we aggregate the results? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work RE 12 / 23 RE UE UE D
  • 26. Program Exploration Z´phyrin Soh et al. e User Study Approach (3/5) Introduction Context and Example Why do we care? How do we aggregate the results? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work RE RE UE >= 2/3 subjects RE 12 / 23 UE D
  • 27. Program Exploration Z´phyrin Soh et al. e User Study Approach (3/5) Introduction Context and Example Why do we care? How do we aggregate the results? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work RE RE UE UE >= 2/3 subjects UE 12 / 23 D
  • 28. Program Exploration Z´phyrin Soh et al. e User Study Approach (3/5) Introduction Context and Example Why do we care? How do we aggregate the results? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work RE RE UE < 2/3 subjects < 2/3 subjects D 12 / 23 UE D
  • 29. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 13 / 23 User Study Approach (4/5) Identification Technique Subjects count the number of nodes and the number of in/out arrows in the graphs ⇒ look at the distribution/inequality of revisits across graphs
  • 30. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results User Study Approach (4/5) Identification Technique Subjects count the number of nodes and the number of in/out arrows in the graphs ⇒ look at the distribution/inequality of revisits across graphs Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work Gini Inequality Index [5] We measure how much classes are (in)equally revisited Used in econometrics to measure the inequality of income among a population Population = classes Income of a class = NumRevisits Gini(IH) = 1 2n2 µ n n i=1 j=1 | NumRevisit(eni ) − NumRevisit(enj ) | [5] K. Xu, How has the literature on Gini’s index evolved in the past 80 years?, Technical report, Department of Economics, Dalhouse University, 2004 13 / 23
  • 31. Program Exploration Z´phyrin Soh et al. e User Study Approach (5/5) Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 14 / 23 Inequality Index Threshold Define a threshold to know if classes are (in)equally revisited If Gini(IH) < Threshold ⇒ Classes are almost equally revisited ⇒ UE: Unreferenced Exploration If Gini(IH) ≥ Threshold ⇒ Some classes are more revisited than others ⇒ RE: Referenced Exploration
  • 32. Program Exploration Z´phyrin Soh et al. e User Study Approach (5/5) Introduction Inequality Index Threshold Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 0 Perfect equality 14 / 23 1 Maximum inequality
  • 33. Program Exploration Z´phyrin Soh et al. e User Study Approach (5/5) Introduction Inequality Index Threshold Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Threshold ? Conclusion and Future Work Conclusion Threats to Validity and Future Work 0 Perfect equality 14 / 23 1 Maximum inequality
  • 34. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Approach (5/5) Inequality Index Threshold User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 14 / 23 RE
  • 35. Program Exploration Z´phyrin Soh et al. e User Study Approach (5/5) Introduction Inequality Index Threshold Context and Example Why do we care? User Study Research Question Approach Results RE Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work 0.28 Conclusion Threats to Validity and Future Work 0 Perfect equality 14 / 23 1 Maximum inequality
  • 36. Program Exploration Z´phyrin Soh et al. e User Study Approach (5/5) Introduction Inequality Index Threshold Context and Example Why do we care? User Study Research Question Approach Results RE Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work 0.28 Conclusion Threats to Validity and Future Work 0 Perfect equality 14 / 23 0.2 0.3 - Threshold = 0.2 ==> RE - Threshold = 0.3 ==> UE 1 Maximum inequality
  • 37. Program Exploration Z´phyrin Soh et al. e User Study Approach (5/5) Introduction Inequality Index Threshold Context and Example Why do we care? User Study Research Question Approach Results RE Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work 0.4 Conclusion Threats to Validity and Future Work 0 Perfect equality 1 Maximum inequality Use F-Measure to maximize both precision and recall 14 / 23
  • 38. Program Exploration Z´phyrin Soh et al. e User Study Approach (5/5) Introduction Inequality Index Threshold Context and Example Why do we care? User Study Research Question Approach Results RE Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work 0.4 Conclusion Threats to Validity and Future Work 0 Perfect equality 1 UE RE Maximum inequality Use F-Measure to maximize both precision and recall 14 / 23
  • 39. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 15 / 23 User Study Results (1/2) Percentage RE vs. UE RE: 28.03% of Interaction Histories UE: 71.96% of Interaction Histories ⇒ Developers follow mostly the unreferenced exploration (UE) when performing a maintenance task.
  • 40. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work User Study Results (1/2) Percentage RE vs. UE RE: 28.03% of Interaction Histories UE: 71.96% of Interaction Histories ⇒ Developers follow mostly the unreferenced exploration (UE) when performing a maintenance task. Methodical developers do not reinvestigate methods as frequently as opportunistic developers [6] RE = opportunistic developers? UE = methodical developers? ⇒ We need more investigations [6] Robillard et al., How effective developers investigate source code: An exploratory study, TSE 2004 15 / 23
  • 41. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 16 / 23 User Study Results (2/2) Confounding Factors Architecture of the system
  • 42. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 16 / 23 User Study Results (2/2) Confounding Factors Architecture of the system Number of common classes (NCC): The more A and B have CC, the more they used the same part of the system
  • 43. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 16 / 23 User Study Results (2/2) Confounding Factors Architecture of the system Number of common classes (NCC): The more A and B have CC, the more they used the same part of the system Compute NCC for each pair of IH. NCC pairs with same ES vs. NCC pairs with different ES ⇒ No difference.
  • 44. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 16 / 23 User Study Results (2/2) Confounding Factors Architecture of the system Number of common classes (NCC): The more A and B have CC, the more they used the same part of the system Compute NCC for each pair of IH. NCC pairs with same ES vs. NCC pairs with different ES ⇒ No difference. Task interruption: The interruption time seems to push developers to be concentrate on a set of (referenced) entities (RE)
  • 45. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work User Study Results (2/2) Confounding Factors Architecture of the system Number of common classes (NCC): The more A and B have CC, the more they used the same part of the system Compute NCC for each pair of IH. NCC pairs with same ES vs. NCC pairs with different ES ⇒ No difference. Task interruption: The interruption time seems to push developers to be concentrate on a set of (referenced) entities (RE) Type of the task: Bug severity because developers may have more back and forth navigation when fixing severe bugs wrt. less severe bugs Inequality Indexes are not significantly different for different types of bugs. 16 / 23
  • 46. Program Exploration Z´phyrin Soh et al. e Empirical Study Research Questions Introduction Context and Example Why do we care? User Study Research Question Approach Results Research Questions Empirical Study Research Questions RQ1 RQ2 Discussions Does any difference exist in maintenance time between RE and UE? Conclusion and Future Work Conclusion Threats to Validity and Future Work 17 / 23 Does any difference exist in edit/navigation ratio between RE and UE?
  • 47. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 18 / 23 Empirical Study RQ1 Approach Overall Time spend = Unpaired Wilcoxon test Duration(entity ) #entity entity ∈IH
  • 48. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study RQ1 Approach Overall Time spend = Duration(entity ) #entity entity ∈IH Unpaired Wilcoxon test Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 18 / 23 Results The UE is on average 12.30% less time consuming than the RE.
  • 49. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 19 / 23 Empirical Study RQ2 Approach Edit/navigation ratio = Unpaired Wilcoxon test NumEdit(IH) NumEvent(IH)
  • 50. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 19 / 23 Empirical Study RQ2 Approach Edit/navigation ratio = NumEdit(IH) NumEvent(IH) Unpaired Wilcoxon test Results An UE requires less edit/navigation ratio than a RE.
  • 51. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 20 / 23 Empirical Study Discussions Is there a good strategy? RE (more) ⇒ The back and forth actions on refUE (less) erenced entities are time consuming ⇒ More edit actions compare to navRE (more) igation actions. Wrong edits/modif. UE (less) then come back to revert/cancel?
  • 52. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? Empirical Study Discussions Is there a good strategy? RE (more) ⇒ The back and forth actions on refUE (less) erenced entities are time consuming User Study Research Question Approach Results Empirical Study ⇒ More edit actions compare to navRE (more) igation actions. Wrong edits/modif. UE (less) then come back to revert/cancel? Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work RE F1 F2 F1 F3 F1 F4 F1 F2 F3 F1 F4 F5 UE 20 / 23 4/8 > 3/6 (RE better) F2 3/6 F5 4/8
  • 53. Program Exploration Z´phyrin Soh et al. e Introduction Context and Example Why do we care? Empirical Study Discussions Is there a good strategy? RE (more) ⇒ The back and forth actions on refUE (less) erenced entities are time consuming User Study Research Question Approach Results Empirical Study ⇒ More edit actions compare to navRE (more) igation actions. Wrong edits/modif. UE (less) then come back to revert/cancel? Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work RE F1 F2 F1 F3 F1 F4 F1 F2 F3 F1 F4 F5 UE 20 / 23 4/8 > 3/6 (RE better) F2 3/6 F5 4/8 2/8 2/6 2/8 < 2/6 (UE better)
  • 54. Program Exploration Z´phyrin Soh et al. e Conclusion and Future Work Conclusion Introduction Context and Example Why do we care? User Study Research Question Approach Results RE Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 21 / 23 0.4 0 Perfect equality 1 UE RE Maximum inequality Use F-Measure to maximize both precision and recall
  • 55. Program Exploration Z´phyrin Soh et al. e Conclusion and Future Work Conclusion Introduction Context and Example Why do we care? User Study Research Question Approach Results RE Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 21 / 23 0.4 0 Perfect equality 1 UE RE Maximum inequality Use F-Measure to maximize both precision and recall
  • 56. Program Exploration Z´phyrin Soh et al. e Conclusion and Future Work Conclusion Introduction Context and Example Why do we care? User Study Research Question Approach Results RE Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 21 / 23 0.4 0 Perfect equality 1 UE RE Maximum inequality Use F-Measure to maximize both precision and recall
  • 57. Program Exploration Z´phyrin Soh et al. e Conclusion and Future Work Threats to Validity and Future Work Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 22 / 23 Threats to Validity and Future Work Construct validity: An IH can be a part of developers’ work
  • 58. Program Exploration Z´phyrin Soh et al. e Conclusion and Future Work Threats to Validity and Future Work Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 22 / 23 Threats to Validity and Future Work Construct validity: An IH can be a part of developers’ work Conclusion validity: The time recorded can be different to the “real” time spent ⇒ Perform an experiment to collect a data
  • 59. Program Exploration Z´phyrin Soh et al. e Conclusion and Future Work Threats to Validity and Future Work Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 22 / 23 Threats to Validity and Future Work Construct validity: An IH can be a part of developers’ work Conclusion validity: The time recorded can be different to the “real” time spent ⇒ Perform an experiment to collect a data Internal validity: We use only Mylyn’s IH ⇒ Use the IH from other tools
  • 60. Program Exploration Z´phyrin Soh et al. e Conclusion and Future Work Threats to Validity and Future Work Introduction Context and Example Why do we care? User Study Research Question Approach Results Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work Threats to Validity and Future Work Construct validity: An IH can be a part of developers’ work Conclusion validity: The time recorded can be different to the “real” time spent ⇒ Perform an experiment to collect a data Internal validity: We use only Mylyn’s IH ⇒ Use the IH from other tools External validity: Our subject projets are Eclipse-based projects ⇒ Use other systems 22 / 23
  • 61. Program Exploration Z´phyrin Soh et al. e Thanks for your attention! Introduction Context and Example Why do we care? User Study Research Question Approach Results RE Empirical Study Research Questions RQ1 RQ2 Discussions Conclusion and Future Work Conclusion Threats to Validity and Future Work 23 / 23 0.4 0 Perfect equality 1 UE RE Maximum inequality Use F-Measure to maximize both precision and recall