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

Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
catherinewall
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
Tao He
 
A software fault localization technique based on program mutations
A software fault localization technique based on program mutationsA software fault localization technique based on program mutations
A software fault localization technique based on program mutations
Tao He
 
PM2 ARTICALS
PM2 ARTICALSPM2 ARTICALS
PM2 ARTICALS
ra na
 
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
Sung Kim
 

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-matching
Zephyrin Soh
 
Biodata Ika
Biodata IkaBiodata Ika
Biodata Ika
Sifoo FC
 
Biodata Lisa
Biodata LisaBiodata Lisa
Biodata Lisa
Sifoo FC
 

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

Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
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
Xiao Qin
 

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
 
Software tetsing paper related to industry
Software tetsing paper related to industrySoftware tetsing paper related to industry
Software tetsing paper related to industry
 
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,...
 

Recently uploaded

KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
Cara Menggugurkan Kandungan 087776558899
 
the Husband rolesBrown Aesthetic Cute Group Project Presentation
the Husband rolesBrown Aesthetic Cute Group Project Presentationthe Husband rolesBrown Aesthetic Cute Group Project Presentation
the Husband rolesBrown Aesthetic Cute Group Project Presentation
brynpueblos04
 
Girls in Mahipalpur (delhi) call me [🔝9953056974🔝] escort service 24X7
Girls in Mahipalpur  (delhi) call me [🔝9953056974🔝] escort service 24X7Girls in Mahipalpur  (delhi) call me [🔝9953056974🔝] escort service 24X7
Girls in Mahipalpur (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
February 2024 Recommendations for newsletter
February 2024 Recommendations for newsletterFebruary 2024 Recommendations for newsletter
February 2024 Recommendations for newsletter
ssuserdfec6a
 

Recently uploaded (15)

KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
 
Call Girls In Mumbai Just Genuine Call ☎ 7738596112✅ Call Girl Andheri East G...
Call Girls In Mumbai Just Genuine Call ☎ 7738596112✅ Call Girl Andheri East G...Call Girls In Mumbai Just Genuine Call ☎ 7738596112✅ Call Girl Andheri East G...
Call Girls In Mumbai Just Genuine Call ☎ 7738596112✅ Call Girl Andheri East G...
 
Colaba Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Colaba Escorts 🥰 8617370543 Call Girls Offer VIP Hot GirlsColaba Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Colaba Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
 
2023 - Between Philosophy and Practice: Introducing Yoga
2023 - Between Philosophy and Practice: Introducing Yoga2023 - Between Philosophy and Practice: Introducing Yoga
2023 - Between Philosophy and Practice: Introducing Yoga
 
Social Learning Theory presentation.pptx
Social Learning Theory presentation.pptxSocial Learning Theory presentation.pptx
Social Learning Theory presentation.pptx
 
the Husband rolesBrown Aesthetic Cute Group Project Presentation
the Husband rolesBrown Aesthetic Cute Group Project Presentationthe Husband rolesBrown Aesthetic Cute Group Project Presentation
the Husband rolesBrown Aesthetic Cute Group Project Presentation
 
Exploring Stoic Philosophy From Ancient Wisdom to Modern Relevance.pdf
Exploring Stoic Philosophy From Ancient Wisdom to Modern Relevance.pdfExploring Stoic Philosophy From Ancient Wisdom to Modern Relevance.pdf
Exploring Stoic Philosophy From Ancient Wisdom to Modern Relevance.pdf
 
Girls in Mahipalpur (delhi) call me [🔝9953056974🔝] escort service 24X7
Girls in Mahipalpur  (delhi) call me [🔝9953056974🔝] escort service 24X7Girls in Mahipalpur  (delhi) call me [🔝9953056974🔝] escort service 24X7
Girls in Mahipalpur (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Dadar West Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Dadar West Escorts 🥰 8617370543 Call Girls Offer VIP Hot GirlsDadar West Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Dadar West Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
 
Emotional Freedom Technique Tapping Points Diagram.pdf
Emotional Freedom Technique Tapping Points Diagram.pdfEmotional Freedom Technique Tapping Points Diagram.pdf
Emotional Freedom Technique Tapping Points Diagram.pdf
 
SIKP311 Sikolohiyang Pilipino - Ginhawa.pptx
SIKP311 Sikolohiyang Pilipino - Ginhawa.pptxSIKP311 Sikolohiyang Pilipino - Ginhawa.pptx
SIKP311 Sikolohiyang Pilipino - Ginhawa.pptx
 
Pokemon Go... Unraveling the Conspiracy Theory
Pokemon Go... Unraveling the Conspiracy TheoryPokemon Go... Unraveling the Conspiracy Theory
Pokemon Go... Unraveling the Conspiracy Theory
 
February 2024 Recommendations for newsletter
February 2024 Recommendations for newsletterFebruary 2024 Recommendations for newsletter
February 2024 Recommendations for newsletter
 
Goregaon West Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Goregaon West Escorts 🥰 8617370543 Call Girls Offer VIP Hot GirlsGoregaon West Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Goregaon West Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
 
March 2023 Recommendations for newsletter
March 2023 Recommendations for newsletterMarch 2023 Recommendations for newsletter
March 2023 Recommendations for newsletter
 

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