SlideShare una empresa de Scribd logo
1 de 61
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 
AI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOpsAI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOps
Chakkrit (Kla) Tantithamthavorn
 

La actualidad más candente (19)

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
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
 
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern Discovery
 
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
 
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
 
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
 
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-...
 
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...
 
A software fault localization technique based on program mutations
A software fault localization technique based on program mutationsA software fault localization technique based on program mutations
A software fault localization technique based on program mutations
 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction Factor
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect prediction
 
An introduction to AI in Test Engineering
An introduction to AI in Test EngineeringAn introduction to AI in Test Engineering
An introduction to AI in Test Engineering
 
Ijcatr04051005
Ijcatr04051005Ijcatr04051005
Ijcatr04051005
 
AI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOpsAI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOps
 
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...
 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...
 
Thetheoryofsoftwaretesting
ThetheoryofsoftwaretestingThetheoryofsoftwaretesting
Thetheoryofsoftwaretesting
 
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 ...
 

Destacado

Destacado (17)

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

Similar a Wcre13a.ppt

Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
131016 wcre-matching
131016   wcre-matching131016   wcre-matching
131016 wcre-matching
Zephyrin Soh
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
PM2 ARTICALS
PM2 ARTICALSPM2 ARTICALS
PM2 ARTICALS
ra na
 
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 a Wcre13a.ppt (20)

Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
 
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
130321   zephyrin soh - on the effect of exploration strategies on maintenanc...130321   zephyrin soh - on the effect of exploration strategies on maintenanc...
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
 
131016 wcre-matching
131016   wcre-matching131016   wcre-matching
131016 wcre-matching
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
PM2 ARTICALS
PM2 ARTICALSPM2 ARTICALS
PM2 ARTICALS
 
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 ...
 
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
 

Más de Ptidej Team

Más de Ptidej Team (20)

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

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Wcre13a.ppt

  • 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