SlideShare ist ein Scribd-Unternehmen logo
1 von 82
Downloaden Sie, um offline zu lesen
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

On the Effect of Exploration Strategies on
Maintenance Tasks

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Z´phyrin Soh, Yann-Ga¨l Gu´h´neuc, Giuliano Antoniol
e
e
e e
Bram Adams, Foutse Khomh

Results
RQ1
RQ2
RQ3

Department of Computer and Software Engineering
´
Ecole Polytechnique de Montr´al, Qu´bec, Canada
e
e

RQ4

Conclusion and
Future Work

March 21, 2013

Conclusion
Threats to Validity and
Future Work

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

Outline

Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Introduction

Goal
Problem
Benefits

Empirical Study
Research Questions

Goal

Data
Metrics
Strategy Identification

Results

Empirical Study

RQ1
RQ2
RQ3

Results

RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

2 / 30

Conclusion and Future Work
Exploration
Strategies
Z´phyrin Soh et al.
e

Introduction
Motivating Example (1/3)

Introduction
Motivating Example
Context

Goal

Program Exploration

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

3 / 30

Developers always explore the program when performing
a maintenance task i.e., move from a program entity to
another.
Exploration
Strategies
Z´phyrin Soh et al.
e

Introduction
Motivating Example (1/3)

Introduction
Motivating Example
Context

Goal

Program Exploration

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

3 / 30

Developers always explore the program when performing
a maintenance task i.e., move from a program entity to
another.
Types of program entities (e.g., Java): project, package,
file, class, attribute, method, resource (XML file, etc.)
Exploration
Strategies
Z´phyrin Soh et al.
e

Introduction
Motivating Example (1/3)

Introduction
Motivating Example
Context

Goal

Program Exploration

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

3 / 30

Developers always explore the program when performing
a maintenance task i.e., move from a program entity to
another.
Types of program entities (e.g., Java): project, package,
file, class, attribute, method, resource (XML file, etc.)
Consider an exploration graph where:
Exploration
Strategies
Z´phyrin Soh et al.
e

Introduction
Motivating Example (1/3)

Introduction
Motivating Example
Context

Goal

Program Exploration

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

3 / 30

Developers always explore the program when performing
a maintenance task i.e., move from a program entity to
another.
Types of program entities (e.g., Java): project, package,
file, class, attribute, method, resource (XML file, etc.)
Consider an exploration graph where:
Node: a program entity
Exploration
Strategies
Z´phyrin Soh et al.
e

Introduction
Motivating Example (1/3)

Introduction
Motivating Example
Context

Goal

Program Exploration

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

3 / 30

Developers always explore the program when performing
a maintenance task i.e., move from a program entity to
another.
Types of program entities (e.g., Java): project, package,
file, class, attribute, method, resource (XML file, etc.)
Consider an exploration graph where:
Node: a program entity
Edge: moving from a program entity to another.
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

4 / 30

Introduction
Motivating Example (2/3)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

4 / 30

Introduction
Motivating Example (2/3)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

4 / 30

Introduction
Motivating Example (2/3)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

4 / 30

We focus on
Introduction the program entity of
type Example Containment
Motivating class ⇒ (2/3)

principle
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

4 / 30

Introduction
Motivating Example (2/3)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

5 / 30

Introduction
Motivating Example (3/3)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

5 / 30

Introduction
Motivating Example (3/3)
Exploration
Strategies

Introduction

Z´phyrin Soh et al.
e

Motivating Example (3/3)graph
A

represents a program exploration

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3

(a) Graph 1

RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

Is there any difference between exploration graphs?
How you find the difference?
Why there is difference?
How much is the difference?

5 / 30

(b) Graph 2
Exploration
Strategies
Z´phyrin Soh et al.
e

Introduction
Context (1/2)

Introduction
Motivating Example
Context

Goal

Program Exploration

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results

Two main concepts:
Interaction event (IE): Each developer’s action on an
entity (through IDE) e.g., select a file Foo.java through
package explorer.

RQ1

Interaction history (IH): a sequence of interaction
events.

RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

6 / 30

Many tools used to gather IH: Mylyn, SmartGroups,
CodingTracker.
Exploration
Strategies
Z´phyrin Soh et al.
e

Introduction
Context (2/2)

Introduction
Motivating Example
Context

Objectives of Program Exploration
Developers look at the relevant program entities

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Developers perform on average 19.31 navigation actions
between two modifications [1]
⇒ They spend time finding where and how to perform
a change on a program.

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

[1] D. R¨thlisberger, SmartGroups: Focusing on Task-Relevant Source
o
Artifacts in IDEs, ICPC 2011
7 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e

Introduction
Context (2/2)

Introduction
Motivating Example
Context

Objectives of Program Exploration
Developers look at the relevant program entities

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Developers perform on average 19.31 navigation actions
between two modifications [1]
⇒ They spend time finding where and how to perform
a change on a program.

Results
RQ1

Research on Program Exploration

RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

Reduce the developers’ search effort (when searching
the relevant entities to perform a given task).
Improve the developers’ productivity.
[1] D. R¨thlisberger, SmartGroups: Focusing on Task-Relevant Source
o
Artifacts in IDEs, ICPC 2011

7 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem (1/1)

Main Question
How can we help developers based on the way they explore a
program?

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

8 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem (1/1)

Main Question
How can we help developers based on the way they explore a
program?

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2

First Step
Investigate if developers have different exploration
strategies
Exploration strategies (ES): the way (how) the
developers navigate through the program entities

RQ3

Study some cause/effect relationships around ES

RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

8 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem (1/1)

Main Question
How can we help developers based on the way they explore a
program?

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2

First Step
Investigate if developers have different exploration
strategies
Exploration strategies (ES): the way (how) the
developers navigate through the program entities

RQ3

Study some cause/effect relationships around ES

RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

8 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e

Goal
Benefits (1/1)

Introduction
Motivating Example

Usefulness of the Exploration Strategies

Context

Goal

Exploration strategies can help to:

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

9 / 30

Evaluate a developer’s performance: a specific strategy
can tend to be more efficient.
Exploration
Strategies
Z´phyrin Soh et al.
e

Goal
Benefits (1/1)

Introduction
Motivating Example

Usefulness of the Exploration Strategies

Context

Goal

Exploration strategies can help to:

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

9 / 30

Evaluate a developer’s performance: a specific strategy
can tend to be more efficient.
Improve our knowledge on developers’ comprehension or
programming process: a top-down or bottom-up
comprehension can be related to a specific strategy
Exploration
Strategies
Z´phyrin Soh et al.
e

Goal
Benefits (1/1)

Introduction
Motivating Example

Usefulness of the Exploration Strategies

Context

Goal

Exploration strategies can help to:

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

9 / 30

Evaluate a developer’s performance: a specific strategy
can tend to be more efficient.
Improve our knowledge on developers’ comprehension or
programming process: a top-down or bottom-up
comprehension can be related to a specific strategy
Characterize developers’ expertise: the experienced
developers can tend to follow a specific strategy that
can be used to help inexperienced ones
Exploration
Strategies
Z´phyrin Soh et al.
e

Goal
Benefits (1/1)

Introduction
Motivating Example

Usefulness of the Exploration Strategies

Context

Goal

Exploration strategies can help to:

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

9 / 30

Evaluate a developer’s performance: a specific strategy
can tend to be more efficient.
Improve our knowledge on developers’ comprehension or
programming process: a top-down or bottom-up
comprehension can be related to a specific strategy
Characterize developers’ expertise: the experienced
developers can tend to follow a specific strategy that
can be used to help inexperienced ones
Develop new exploration features for IDE: a strategy
can highlight the need of a specific feature.
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Research Questions (1/1)

Introduction
Motivating Example
Context

Questions

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

10 / 30

Do developers follow specific exploration strategies
when performing maintenance tasks?
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Research Questions (1/1)

Introduction
Motivating Example
Context

Questions

Goal
Problem
Benefits

Empirical Study

Do developers follow specific exploration strategies
when performing maintenance tasks?

Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

10 / 30

Do specific exploration strategies affect the maintenance time?
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Research Questions (1/1)

Introduction
Motivating Example
Context

Questions

Goal
Problem
Benefits

Empirical Study

Do developers follow specific exploration strategies
when performing maintenance tasks?

Research Questions
Data
Metrics
Strategy Identification

Results

Do specific exploration strategies affect the maintenance time?

RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

10 / 30

Do specific exploration strategies affect the exploration effort?
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Research Questions (1/1)

Introduction
Motivating Example
Context

Questions

Goal
Problem
Benefits

Empirical Study

Do developers follow specific exploration strategies
when performing maintenance tasks?

Research Questions
Data
Metrics
Strategy Identification

Results

Do specific exploration strategies affect the maintenance time?

RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work

Do specific exploration strategies affect the exploration effort?

Conclusion
Threats to Validity and
Future Work

10 / 30

Does extensive work results to a specific exploration strategy?
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Data (1/3)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

11 / 30

Data Collection
Four open-source projects: ECF, Mylyn, PDE, Eclipse
Platform
We focus on IHs build by Mylyn
Mylyn is an industrial tool provided as an Eclipse’s
plug-in (also CodingTracker)
Mylyn’s IHs are available: all contributions to Mylyn
must be made using Mylyn
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Data (1/3)

Introduction
Motivating Example
Context

Example: Mylyn’s IHs as attachment (XML file) to a bug

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

11 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

11 / 30

Empirical Study
Data (1/3)

Mylyn’s Interaction History
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

11 / 30

Empirical Study
Data (1/3)

Mylyn’s Interaction History
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

11 / 30

Empirical Study
Data (1/3)

Mylyn’s Interaction History
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

12 / 30

Empirical Study
Data (2/3)

Parsing Interaction Histories
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

12 / 30

Empirical Study
Data (2/3)

Parsing Interaction Histories
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

12 / 30

Empirical Study
Data (2/3)

Parsing Interaction Histories
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

12 / 30

Empirical Study
Data (2/3)

Parsing Interaction Histories
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

12 / 30

Empirical Study
Data (2/3)

Parsing Interaction Histories
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

12 / 30

Empirical Study
Data (2/3)

Parsing Interaction Histories
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Data (3/3)

Introduction
Motivating Example
Context

Parsing StructureHandle
Identify the type and parts of program entity

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

13 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Data (3/3)

Introduction
Motivating Example
Context

Parsing StructureHandle
Identify the type and parts of program entity

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

Parsing ⇒ A graph representation of an interaction
history
Remember: We focus on the program entity of type
class

13 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

14 / 30

Empirical Study
Metrics (1/3)

NumEvent(Classes) =

e∈Classes

NumEvent(e)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

15 / 30

Empirical Study
Metrics (2/3)

NumRevisits(c) = number of times a class c is revisited
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Metrics (3/3)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

16 / 30

NumEdit: total number of edit events on all classes and
their contents
NumEdit(e) = event e NumEdit(event)
NumEdit(Classes) = e∈Classes NumEdit(e)
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Metrics (3/3)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

16 / 30

NumEdit: total number of edit events on all classes and
their contents
NumEdit(e) = event e NumEdit(event)
NumEdit(Classes) = e∈Classes NumEdit(e)
Exploration Effort: edit ratio which is related to the
identification of the relevant entities
NumEdit(Classes)
EditRatio(Classes) = NumEvent(Classes)
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Metrics (3/3)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results

NumEdit: total number of edit events on all classes and
their contents
NumEdit(e) = event e NumEdit(event)
NumEdit(Classes) = e∈Classes NumEdit(e)
Exploration Effort: edit ratio which is related to the
identification of the relevant entities
NumEdit(Classes)
EditRatio(Classes) = NumEvent(Classes)

RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

16 / 30

Class Level Duration (CLD): total duration spent on all
classes and their contents
Duration(event) = EndDate(event) − StartDate(event)
Duration(e) = event e Duration(event)
CLD = Duration(Classes) = e∈Classes Duration(e)
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Metrics (3/3)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results

NumEdit: total number of edit events on all classes and
their contents
NumEdit(e) = event e NumEdit(event)
NumEdit(Classes) = e∈Classes NumEdit(e)
Exploration Effort: edit ratio which is related to the
identification of the relevant entities
NumEdit(Classes)
EditRatio(Classes) = NumEvent(Classes)

RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

Class Level Duration (CLD): total duration spent on all
classes and their contents
Duration(event) = EndDate(event) − StartDate(event)
Duration(e) = event e Duration(event)
CLD = Duration(Classes) = e∈Classes Duration(e)
Overall Duration (OD): total duration spent on an IH
OD = event∈IH Duration(event)

16 / 30
Exploration
Strategies
Z´phyrin Soh et al.
e

Empirical Study
Strategy Identification (1/3)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results

Gini Inequality Index
Used in econometrics to measure the inequality of
income among a population
Gini ∈ [0, 1]: 0 (perfect equality), 1 (maximal
inequality)
We measure how much classes are (un)equally revisited
NumRevisits = income of a class
⇒ Apply Gini [2] on NumRevisits

RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work

Gini(IH) =

1
2n2 µ

n

n

i=1 j=1

| NumRevisit(eni ) − NumRevisit(enj ) |

Conclusion
Threats to Validity and
Future Work

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

Empirical Study
Strategy Identification (2/3)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions

Problem 1: Gini Threshold
How to know if classes are (un)equally revisited?
⇒ Define a Gini Threshold

Data
Metrics
Strategy Identification

Results
RQ1

If Gini(IH) < Threshold
⇒ Classes are almost equally revisited
⇒ EES: Extended Exploration Strategy

RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

18 / 30

If Gini(IH) ≥ Threshold
⇒ Some classes are more revisited than others (core vs.
periphery)
⇒ CES: Centralized Exploration Strategy
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example

Empirical Study
Strategy Identification (3/3)

Problem 2: Cut-Off Point

Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

19 / 30

For CES, core vs. periphery classes
⇒ Define a COP
Ordered the classes by NumRevisits
{(C 1, 9), (C 2, 2), (C 3, 4), (C 4, 16), (C 5, 11)}
⇒ (C 4, 16), (C 5, 11), (C 1, 9), (C 3, 4), (C 2, 2)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example

Empirical Study
Strategy Identification (3/3)

Problem 2: Cut-Off Point

Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

19 / 30

For CES, core vs. periphery classes
⇒ Define a COP
Ordered the classes by NumRevisits
{(C 1, 9), (C 2, 2), (C 3, 4), (C 4, 16), (C 5, 11)}
⇒ (C 4, 16), (C 5, 11), (C 1, 9), (C 3, 4), (C 2, 2)
COP: a maximum difference between NumRevisit of
two consecutive classes
⇒ COP = 5: Between C4-C5, and C1-C3
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example

Empirical Study
Strategy Identification (3/3)

Problem 2: Cut-Off Point

Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

19 / 30

For CES, core vs. periphery classes
⇒ Define a COP
Ordered the classes by NumRevisits
{(C 1, 9), (C 2, 2), (C 3, 4), (C 4, 16), (C 5, 11)}
⇒ (C 4, 16), (C 5, 11), (C 1, 9), (C 3, 4), (C 2, 2)
COP: a maximum difference between NumRevisit of
two consecutive classes
⇒ COP = 5: Between C4-C5, and C1-C3
More than one COP: the one that provides more core
classes
⇒ Between C1-C3
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example

Empirical Study
Strategy Identification (3/3)

Problem 2: Cut-Off Point

Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

For CES, core vs. periphery classes
⇒ Define a COP
Ordered the classes by NumRevisits
{(C 1, 9), (C 2, 2), (C 3, 4), (C 4, 16), (C 5, 11)}
⇒ (C 4, 16), (C 5, 11), (C 1, 9), (C 3, 4), (C 2, 2)
COP: a maximum difference between NumRevisit of
two consecutive classes
⇒ COP = 5: Between C4-C5, and C1-C3
More than one COP: the one that provides more core
classes
⇒ Between C1-C3
Core classes = {C 4, C 5, C 1}
Peripheral classes = {C 3, C 2}

19 / 30
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (1/4)

Introduction
Motivating Example
Context

Problem 1: Manual Validation
Build an Oracle

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

20 / 30

Random set of heterogenous interaction history
Sample size: proportionally distributed among projects
95% ± 10 confidence level

Use Graphviz to generate the exploration graphs
Subjects: Three PhD students with Java Experience
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (1/4)

Introduction
Motivating Example
Context

Problem 1: Manual Validation
Build an Oracle

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1

Random set of heterogenous interaction history
Sample size: proportionally distributed among projects
95% ± 10 confidence level

Use Graphviz to generate the exploration graphs
Subjects: Three PhD students with Java Experience

RQ2
RQ3

Validation Process

RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

Explain the meaning of the graphs
Subjects’ labels of a graph: C, E or D (Doubt)
Final label: CES (or EES) if at less two C (or E)
Undecided if completely different labels or two D

20 / 30
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (2/4)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

21 / 30
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (2/4)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1

Compromise Threshold

RQ2
RQ3

F-Measure: maximize both precision and recall

RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

21 / 30
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (3/4)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

22 / 30

Observation 1: Developers follow mostly the EES when
performing a maintenance task.
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (3/4)

Introduction
Motivating Example
Context

Goal

Observation 1: Developers follow mostly the EES when
performing a maintenance task.

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

Methodical developers do not reinvestigate methods as
frequently as opportunistic developers [3]
CES ⇒ opportunistic developers
EES ⇒ methodical developers

22 / 30

[3] M. P. Robillard et al., How effective developers investigate source code: An
exploratory study, IEEE TSE, 2004
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (4/4)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

23 / 30

Confounding Factor
Developers navigate through relationships between
classes and key binding ⇒ The architecture can affect
the ES
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (4/4)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

23 / 30

Confounding Factor
Developers navigate through relationships between
classes and key binding ⇒ The architecture can affect
the ES
Classes (and relations) involved in an IH = part of the
system used to perform a task
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (4/4)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics

Confounding Factor
Developers navigate through relationships between
classes and key binding ⇒ The architecture can affect
the ES
Classes (and relations) involved in an IH = part of the
system used to perform a task

Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

23 / 30

If IHs A and B have almost the same part of a system
⇒ same ES
A and B different parts ⇒ Different ES
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (4/4)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics

Confounding Factor
Developers navigate through relationships between
classes and key binding ⇒ The architecture can affect
the ES
Classes (and relations) involved in an IH = part of the
system used to perform a task

Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

23 / 30

If IHs A and B have almost the same part of a system
⇒ same ES
A and B different parts ⇒ Different ES
Number of common classes (NCC) between A and B to
capture their common part
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ1 (4/4)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics

Confounding Factor
Developers navigate through relationships between
classes and key binding ⇒ The architecture can affect
the ES
Classes (and relations) involved in an IH = part of the
system used to perform a task

Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

23 / 30

If IHs A and B have almost the same part of a system
⇒ same ES
A and B different parts ⇒ Different ES
Number of common classes (NCC) between A and B to
capture their common part
Compute NCC for each pair of IH
No difference between the NCC of the IHs with the
same ES and the NCC of the IHs with different ES
⇒ The architecture does not affect the ES
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ2 (1/1)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

24 / 30

Observation 2: The EES is on average 69.39% less time
consuming than the CES.
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ2 (1/1)

Introduction
Motivating Example
Context

Goal

Observation 2: The EES is on average 69.39% less time
consuming than the CES.

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

Methodical developers performs tasks two times faster
than opportunistic ones [3]
CES ⇒ read source code in details [3]
EES ⇒ look at explicit program entity(ies) [3]

24 / 30

[3] M. P. Robillard et al., How effective developers investigate source code: An
exploratory study, IEEE TSE, 2004
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ3 (1/1)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

25 / 30

Observation 3: An EES requires more exploration effort
than a CES.
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ3 (1/1)

Introduction
Motivating Example
Context

Goal

Observation 3: An EES requires more exploration effort
than a CES.

Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

Methodical developers are successful developers
compared to opportunistic developers [3]
CES ⇒ code modifications in one place [3]
EES surprising: IH edits vs. source code repository edits

25 / 30

[3] M. P. Robillard et al., How effective developers investigate source code: An
exploratory study, IEEE TSE, 2004
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ4 (1/2)

Introduction
Motivating Example
Context

Goal
Problem

Expand the Work on Many Days
Open-source project: developers are volunteers
⇒ they work on their spare time.

Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

26 / 30

Number of working days spent on change request
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ4 (1/2)

Introduction
Motivating Example
Context

Goal
Problem

Expand the Work on Many Days
Open-source project: developers are volunteers
⇒ they work on their spare time.

Benefits

Empirical Study

Number of working days spent on change request

Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

26 / 30

Unbalanced proportion of IH: the more days developers
work on a change task, the more time they spend on
program entities
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ4 (2/2)

Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

27 / 30

Observation 4: Developers usually adopt a CES when
performing maintenance tasks spanning on more than
three days.
Exploration
Strategies

Results

Z´phyrin Soh et al.
e

RQ4 (2/2)

Introduction
Motivating Example
Context

Goal
Problem

Observation 4: Developers usually adopt a CES when
performing maintenance tasks spanning on more than
three days.

Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

27 / 30

Developers refresh their mind by (re)understanding the
entities that they explored before
Mylyn task context feature sometimes push developers
to (re)explore entities already explored in previous
working sessions
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

28 / 30

Conclusion and Future Work
Conclusion (1/1)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

28 / 30

Conclusion and Future Work
Conclusion (1/1)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

28 / 30

Conclusion and Future Work
Conclusion (1/1)
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

28 / 30

Conclusion and Future Work
Conclusion (1/1)
Exploration
Strategies

Conclusion and Future Work

Z´phyrin Soh et al.
e

Threats to Validity and Future Work (1/1)

Introduction
Motivating Example
Context

Threats to Validity and Future Work

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

29 / 30

Construct validity: An IH can be a part of developers’
work
Exploration
Strategies

Conclusion and Future Work

Z´phyrin Soh et al.
e

Threats to Validity and Future Work (1/1)

Introduction
Motivating Example
Context

Threats to Validity and Future Work

Goal
Problem
Benefits

Empirical Study

Construct validity: An IH can be a part of developers’
work

Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

29 / 30

Conclusion validity: The time recorded can be
different to the “real” time spent
⇒ Perform an experiment to collect a data
Exploration
Strategies

Conclusion and Future Work

Z´phyrin Soh et al.
e

Threats to Validity and Future Work (1/1)

Introduction
Motivating Example
Context

Threats to Validity and Future Work

Goal
Problem
Benefits

Empirical Study

Construct validity: An IH can be a part of developers’
work

Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2

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

RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

29 / 30
Exploration
Strategies

Conclusion and Future Work

Z´phyrin Soh et al.
e

Threats to Validity and Future Work (1/1)

Introduction
Motivating Example
Context

Threats to Validity and Future Work

Goal
Problem
Benefits

Empirical Study

Construct validity: An IH can be a part of developers’
work

Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2

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

RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

29 / 30

External validity: Our subject projets are Eclipse-based
projects
⇒ Use other systems
Exploration
Strategies
Z´phyrin Soh et al.
e
Introduction
Motivating Example
Context

Goal
Problem
Benefits

Empirical Study
Research Questions
Data
Metrics
Strategy Identification

Results
RQ1
RQ2
RQ3
RQ4

Conclusion and
Future Work
Conclusion
Threats to Validity and
Future Work

30 / 30

Thanks for your attention!

Weitere ähnliche Inhalte

Was ist angesagt?

Web Service Antipatterns Detection Using Genetic Programming
Web Service Antipatterns Detection Using Genetic ProgrammingWeb Service Antipatterns Detection Using Genetic Programming
Web Service Antipatterns Detection Using Genetic ProgrammingAli Ouni
 
Hybrid Solution of the Cold-Start Problem in Context-Aware Recommender Systems
Hybrid Solution of the Cold-Start Problem in Context-Aware Recommender SystemsHybrid Solution of the Cold-Start Problem in Context-Aware Recommender Systems
Hybrid Solution of the Cold-Start Problem in Context-Aware Recommender SystemsMatthias Braunhofer
 
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overviewalessio_ferrari
 
Evaluating query-independent object features for relevancy prediction
Evaluating query-independent object features for relevancy predictionEvaluating query-independent object features for relevancy prediction
Evaluating query-independent object features for relevancy predictionNTNU
 
Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016Per Runeson
 
Analysis random org nist2005
Analysis random org nist2005Analysis random org nist2005
Analysis random org nist2005eliecerherrera
 
Empirical Software Engineering
Empirical Software EngineeringEmpirical Software Engineering
Empirical Software EngineeringRahimLotfi
 
Cold-Start Management with Cross-Domain Collaborative Filtering and Tags
Cold-Start Management with Cross-Domain Collaborative Filtering and TagsCold-Start Management with Cross-Domain Collaborative Filtering and Tags
Cold-Start Management with Cross-Domain Collaborative Filtering and TagsMatthias Braunhofer
 
An Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software EngineeringAn Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software EngineeringDaniel Mendez
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...acijjournal
 
Ontology-Based Data Access Mapping Generation using Data, Schema, Query, and ...
Ontology-Based Data Access Mapping Generation using Data, Schema, Query, and ...Ontology-Based Data Access Mapping Generation using Data, Schema, Query, and ...
Ontology-Based Data Access Mapping Generation using Data, Schema, Query, and ...Pieter Heyvaert
 
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...ijseajournal
 
IRJET- Survey of Feature Selection based on Ant Colony
IRJET- Survey of Feature Selection based on Ant ColonyIRJET- Survey of Feature Selection based on Ant Colony
IRJET- Survey of Feature Selection based on Ant ColonyIRJET Journal
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingJaguaraci Silva
 
Review on Algorithmic and Non Algorithmic Software Cost Estimation Techniques
Review on Algorithmic and Non Algorithmic Software Cost Estimation TechniquesReview on Algorithmic and Non Algorithmic Software Cost Estimation Techniques
Review on Algorithmic and Non Algorithmic Software Cost Estimation Techniquesijtsrd
 
Smart like a Fox: How clever students trick dumb programming assignment asses...
Smart like a Fox: How clever students trick dumb programming assignment asses...Smart like a Fox: How clever students trick dumb programming assignment asses...
Smart like a Fox: How clever students trick dumb programming assignment asses...Nane Kratzke
 
Parsimonious and Adaptive Contextual Information Acquisition in Recommender S...
Parsimonious and Adaptive Contextual Information Acquisition in Recommender S...Parsimonious and Adaptive Contextual Information Acquisition in Recommender S...
Parsimonious and Adaptive Contextual Information Acquisition in Recommender S...Matthias Braunhofer
 

Was ist angesagt? (19)

Thesis Proposal Presentation
Thesis Proposal PresentationThesis Proposal Presentation
Thesis Proposal Presentation
 
Web Service Antipatterns Detection Using Genetic Programming
Web Service Antipatterns Detection Using Genetic ProgrammingWeb Service Antipatterns Detection Using Genetic Programming
Web Service Antipatterns Detection Using Genetic Programming
 
Hybrid Solution of the Cold-Start Problem in Context-Aware Recommender Systems
Hybrid Solution of the Cold-Start Problem in Context-Aware Recommender SystemsHybrid Solution of the Cold-Start Problem in Context-Aware Recommender Systems
Hybrid Solution of the Cold-Start Problem in Context-Aware Recommender Systems
 
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
 
Evaluating query-independent object features for relevancy prediction
Evaluating query-independent object features for relevancy predictionEvaluating query-independent object features for relevancy prediction
Evaluating query-independent object features for relevancy prediction
 
Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016
 
Analysis random org nist2005
Analysis random org nist2005Analysis random org nist2005
Analysis random org nist2005
 
Empirical Software Engineering
Empirical Software EngineeringEmpirical Software Engineering
Empirical Software Engineering
 
Cold-Start Management with Cross-Domain Collaborative Filtering and Tags
Cold-Start Management with Cross-Domain Collaborative Filtering and TagsCold-Start Management with Cross-Domain Collaborative Filtering and Tags
Cold-Start Management with Cross-Domain Collaborative Filtering and Tags
 
An Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software EngineeringAn Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software Engineering
 
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 ...
 
Ontology-Based Data Access Mapping Generation using Data, Schema, Query, and ...
Ontology-Based Data Access Mapping Generation using Data, Schema, Query, and ...Ontology-Based Data Access Mapping Generation using Data, Schema, Query, and ...
Ontology-Based Data Access Mapping Generation using Data, Schema, Query, and ...
 
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
 
IRJET- Survey of Feature Selection based on Ant Colony
IRJET- Survey of Feature Selection based on Ant ColonyIRJET- Survey of Feature Selection based on Ant Colony
IRJET- Survey of Feature Selection based on Ant Colony
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software Testing
 
Review on Algorithmic and Non Algorithmic Software Cost Estimation Techniques
Review on Algorithmic and Non Algorithmic Software Cost Estimation TechniquesReview on Algorithmic and Non Algorithmic Software Cost Estimation Techniques
Review on Algorithmic and Non Algorithmic Software Cost Estimation Techniques
 
Smart like a Fox: How clever students trick dumb programming assignment asses...
Smart like a Fox: How clever students trick dumb programming assignment asses...Smart like a Fox: How clever students trick dumb programming assignment asses...
Smart like a Fox: How clever students trick dumb programming assignment asses...
 
Ieee doctoral progarm final
Ieee doctoral progarm finalIeee doctoral progarm final
Ieee doctoral progarm final
 
Parsimonious and Adaptive Contextual Information Acquisition in Recommender S...
Parsimonious and Adaptive Contextual Information Acquisition in Recommender S...Parsimonious and Adaptive Contextual Information Acquisition in Recommender S...
Parsimonious and Adaptive Contextual Information Acquisition in Recommender S...
 

Ähnlich wie 130321 zephyrin soh - on the effect of exploration strategies on maintenance tasks

131014 wcre-exploration
131014   wcre-exploration131014   wcre-exploration
131014 wcre-explorationZephyrin Soh
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...acijjournal
 
131016 wcre-matching
131016   wcre-matching131016   wcre-matching
131016 wcre-matchingZephyrin Soh
 
Logic model pp presentation_final_for sharing
Logic model pp presentation_final_for sharingLogic model pp presentation_final_for sharing
Logic model pp presentation_final_for sharingDiscoveryCenterMU
 
PM2 ARTICALS
PM2 ARTICALSPM2 ARTICALS
PM2 ARTICALSra na
 
Qualitative and Quantitative Research Plans By Malik Muhammad Mehran
Qualitative and Quantitative Research Plans By Malik Muhammad MehranQualitative and Quantitative Research Plans By Malik Muhammad Mehran
Qualitative and Quantitative Research Plans By Malik Muhammad MehranMalik Mughal
 
1How to Perform ExperimentsBasic Concepts CSCI .docx
1How to Perform ExperimentsBasic Concepts CSCI .docx1How to Perform ExperimentsBasic Concepts CSCI .docx
1How to Perform ExperimentsBasic Concepts CSCI .docxdrennanmicah
 
Neuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxNeuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxvannagoforth
 
Neuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxNeuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxdohertyjoetta
 
A Review Of Code Reviewer Recommendation Studies Challenges And Future Direc...
A Review Of Code Reviewer Recommendation Studies  Challenges And Future Direc...A Review Of Code Reviewer Recommendation Studies  Challenges And Future Direc...
A Review Of Code Reviewer Recommendation Studies Challenges And Future Direc...Sheila Sinclair
 
A Survey on Design Pattern Detection Approaches
A Survey on Design Pattern Detection ApproachesA Survey on Design Pattern Detection Approaches
A Survey on Design Pattern Detection ApproachesCSCJournals
 
Find the below dissertations in the Proquest Dissertations. Provide .docx
Find the below dissertations in the Proquest Dissertations. Provide .docxFind the below dissertations in the Proquest Dissertations. Provide .docx
Find the below dissertations in the Proquest Dissertations. Provide .docxernestc3
 
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...zillesubhan
 
5 The Logical Framework - a short course for NGOs
5 The Logical Framework - a short course for NGOs5 The Logical Framework - a short course for NGOs
5 The Logical Framework - a short course for NGOsTony
 
A Survey on Software Release Planning Models - Slides for the Presentation @ ...
A Survey on Software Release Planning Models - Slides for the Presentation @ ...A Survey on Software Release Planning Models - Slides for the Presentation @ ...
A Survey on Software Release Planning Models - Slides for the Presentation @ ...Supersede
 
ProDebt's Lessons Learned from Planning Technical Debt Strategically
ProDebt's Lessons Learned from Planning Technical Debt StrategicallyProDebt's Lessons Learned from Planning Technical Debt Strategically
ProDebt's Lessons Learned from Planning Technical Debt StrategicallyQAware GmbH
 
Carol Harstad Research Proposal
Carol Harstad   Research ProposalCarol Harstad   Research Proposal
Carol Harstad Research ProposalCarol Harstad
 

Ähnlich wie 130321 zephyrin soh - on the effect of exploration strategies on maintenance tasks (20)

131014 wcre-exploration
131014   wcre-exploration131014   wcre-exploration
131014 wcre-exploration
 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
 
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 ...
 
131016 wcre-matching
131016   wcre-matching131016   wcre-matching
131016 wcre-matching
 
Logic model pp presentation_final_for sharing
Logic model pp presentation_final_for sharingLogic model pp presentation_final_for sharing
Logic model pp presentation_final_for sharing
 
PM2 ARTICALS
PM2 ARTICALSPM2 ARTICALS
PM2 ARTICALS
 
Qualitative and Quantitative Research Plans By Malik Muhammad Mehran
Qualitative and Quantitative Research Plans By Malik Muhammad MehranQualitative and Quantitative Research Plans By Malik Muhammad Mehran
Qualitative and Quantitative Research Plans By Malik Muhammad Mehran
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
1How to Perform ExperimentsBasic Concepts CSCI .docx
1How to Perform ExperimentsBasic Concepts CSCI .docx1How to Perform ExperimentsBasic Concepts CSCI .docx
1How to Perform ExperimentsBasic Concepts CSCI .docx
 
Neuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxNeuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docx
 
Neuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxNeuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docx
 
A Review Of Code Reviewer Recommendation Studies Challenges And Future Direc...
A Review Of Code Reviewer Recommendation Studies  Challenges And Future Direc...A Review Of Code Reviewer Recommendation Studies  Challenges And Future Direc...
A Review Of Code Reviewer Recommendation Studies Challenges And Future Direc...
 
A Survey on Design Pattern Detection Approaches
A Survey on Design Pattern Detection ApproachesA Survey on Design Pattern Detection Approaches
A Survey on Design Pattern Detection Approaches
 
Find the below dissertations in the Proquest Dissertations. Provide .docx
Find the below dissertations in the Proquest Dissertations. Provide .docxFind the below dissertations in the Proquest Dissertations. Provide .docx
Find the below dissertations in the Proquest Dissertations. Provide .docx
 
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
 
5 The Logical Framework - a short course for NGOs
5 The Logical Framework - a short course for NGOs5 The Logical Framework - a short course for NGOs
5 The Logical Framework - a short course for NGOs
 
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 @ ...
 
ProDebt's Lessons Learned from Planning Technical Debt Strategically
ProDebt's Lessons Learned from Planning Technical Debt StrategicallyProDebt's Lessons Learned from Planning Technical Debt Strategically
ProDebt's Lessons Learned from Planning Technical Debt Strategically
 
Carol Harstad Research Proposal
Carol Harstad   Research ProposalCarol Harstad   Research Proposal
Carol Harstad Research Proposal
 
IS.pptx
IS.pptxIS.pptx
IS.pptx
 

Mehr von Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
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 crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

Mehr von 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
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Kürzlich hochgeladen (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

130321 zephyrin soh - on the effect of exploration strategies on maintenance tasks

  • 1. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits On the Effect of Exploration Strategies on Maintenance Tasks Empirical Study Research Questions Data Metrics Strategy Identification Z´phyrin Soh, Yann-Ga¨l Gu´h´neuc, Giuliano Antoniol e e e e Bram Adams, Foutse Khomh Results RQ1 RQ2 RQ3 Department of Computer and Software Engineering ´ Ecole Polytechnique de Montr´al, Qu´bec, Canada e e RQ4 Conclusion and Future Work March 21, 2013 Conclusion Threats to Validity and Future Work Pattern Trace Identification, Detection, and Enhancement in Java SOftware Cost-effective Change and Evolution Research Lab
  • 2. Exploration Strategies Outline Z´phyrin Soh et al. e Introduction Motivating Example Context Introduction Goal Problem Benefits Empirical Study Research Questions Goal Data Metrics Strategy Identification Results Empirical Study RQ1 RQ2 RQ3 Results RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 2 / 30 Conclusion and Future Work
  • 3. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example (1/3) Introduction Motivating Example Context Goal Program Exploration Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 3 / 30 Developers always explore the program when performing a maintenance task i.e., move from a program entity to another.
  • 4. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example (1/3) Introduction Motivating Example Context Goal Program Exploration Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 3 / 30 Developers always explore the program when performing a maintenance task i.e., move from a program entity to another. Types of program entities (e.g., Java): project, package, file, class, attribute, method, resource (XML file, etc.)
  • 5. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example (1/3) Introduction Motivating Example Context Goal Program Exploration Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 3 / 30 Developers always explore the program when performing a maintenance task i.e., move from a program entity to another. Types of program entities (e.g., Java): project, package, file, class, attribute, method, resource (XML file, etc.) Consider an exploration graph where:
  • 6. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example (1/3) Introduction Motivating Example Context Goal Program Exploration Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 3 / 30 Developers always explore the program when performing a maintenance task i.e., move from a program entity to another. Types of program entities (e.g., Java): project, package, file, class, attribute, method, resource (XML file, etc.) Consider an exploration graph where: Node: a program entity
  • 7. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example (1/3) Introduction Motivating Example Context Goal Program Exploration Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 3 / 30 Developers always explore the program when performing a maintenance task i.e., move from a program entity to another. Types of program entities (e.g., Java): project, package, file, class, attribute, method, resource (XML file, etc.) Consider an exploration graph where: Node: a program entity Edge: moving from a program entity to another.
  • 8. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 30 Introduction Motivating Example (2/3)
  • 9. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 30 Introduction Motivating Example (2/3)
  • 10. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 30 Introduction Motivating Example (2/3)
  • 11. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 30 We focus on Introduction the program entity of type Example Containment Motivating class ⇒ (2/3) principle
  • 12. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 4 / 30 Introduction Motivating Example (2/3)
  • 13. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 5 / 30 Introduction Motivating Example (3/3)
  • 14. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 5 / 30 Introduction Motivating Example (3/3)
  • 15. Exploration Strategies Introduction Z´phyrin Soh et al. e Motivating Example (3/3)graph A represents a program exploration Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 (a) Graph 1 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work Is there any difference between exploration graphs? How you find the difference? Why there is difference? How much is the difference? 5 / 30 (b) Graph 2
  • 16. Exploration Strategies Z´phyrin Soh et al. e Introduction Context (1/2) Introduction Motivating Example Context Goal Program Exploration Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results Two main concepts: Interaction event (IE): Each developer’s action on an entity (through IDE) e.g., select a file Foo.java through package explorer. RQ1 Interaction history (IH): a sequence of interaction events. RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 6 / 30 Many tools used to gather IH: Mylyn, SmartGroups, CodingTracker.
  • 17. Exploration Strategies Z´phyrin Soh et al. e Introduction Context (2/2) Introduction Motivating Example Context Objectives of Program Exploration Developers look at the relevant program entities Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Developers perform on average 19.31 navigation actions between two modifications [1] ⇒ They spend time finding where and how to perform a change on a program. Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work [1] D. R¨thlisberger, SmartGroups: Focusing on Task-Relevant Source o Artifacts in IDEs, ICPC 2011 7 / 30
  • 18. Exploration Strategies Z´phyrin Soh et al. e Introduction Context (2/2) Introduction Motivating Example Context Objectives of Program Exploration Developers look at the relevant program entities Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Developers perform on average 19.31 navigation actions between two modifications [1] ⇒ They spend time finding where and how to perform a change on a program. Results RQ1 Research on Program Exploration RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work Reduce the developers’ search effort (when searching the relevant entities to perform a given task). Improve the developers’ productivity. [1] D. R¨thlisberger, SmartGroups: Focusing on Task-Relevant Source o Artifacts in IDEs, ICPC 2011 7 / 30
  • 19. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem (1/1) Main Question How can we help developers based on the way they explore a program? Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 8 / 30
  • 20. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem (1/1) Main Question How can we help developers based on the way they explore a program? Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 First Step Investigate if developers have different exploration strategies Exploration strategies (ES): the way (how) the developers navigate through the program entities RQ3 Study some cause/effect relationships around ES RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 8 / 30
  • 21. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem (1/1) Main Question How can we help developers based on the way they explore a program? Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 First Step Investigate if developers have different exploration strategies Exploration strategies (ES): the way (how) the developers navigate through the program entities RQ3 Study some cause/effect relationships around ES RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 8 / 30
  • 22. Exploration Strategies Z´phyrin Soh et al. e Goal Benefits (1/1) Introduction Motivating Example Usefulness of the Exploration Strategies Context Goal Exploration strategies can help to: Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 9 / 30 Evaluate a developer’s performance: a specific strategy can tend to be more efficient.
  • 23. Exploration Strategies Z´phyrin Soh et al. e Goal Benefits (1/1) Introduction Motivating Example Usefulness of the Exploration Strategies Context Goal Exploration strategies can help to: Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 9 / 30 Evaluate a developer’s performance: a specific strategy can tend to be more efficient. Improve our knowledge on developers’ comprehension or programming process: a top-down or bottom-up comprehension can be related to a specific strategy
  • 24. Exploration Strategies Z´phyrin Soh et al. e Goal Benefits (1/1) Introduction Motivating Example Usefulness of the Exploration Strategies Context Goal Exploration strategies can help to: Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 9 / 30 Evaluate a developer’s performance: a specific strategy can tend to be more efficient. Improve our knowledge on developers’ comprehension or programming process: a top-down or bottom-up comprehension can be related to a specific strategy Characterize developers’ expertise: the experienced developers can tend to follow a specific strategy that can be used to help inexperienced ones
  • 25. Exploration Strategies Z´phyrin Soh et al. e Goal Benefits (1/1) Introduction Motivating Example Usefulness of the Exploration Strategies Context Goal Exploration strategies can help to: Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 9 / 30 Evaluate a developer’s performance: a specific strategy can tend to be more efficient. Improve our knowledge on developers’ comprehension or programming process: a top-down or bottom-up comprehension can be related to a specific strategy Characterize developers’ expertise: the experienced developers can tend to follow a specific strategy that can be used to help inexperienced ones Develop new exploration features for IDE: a strategy can highlight the need of a specific feature.
  • 26. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Research Questions (1/1) Introduction Motivating Example Context Questions Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 10 / 30 Do developers follow specific exploration strategies when performing maintenance tasks?
  • 27. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Research Questions (1/1) Introduction Motivating Example Context Questions Goal Problem Benefits Empirical Study Do developers follow specific exploration strategies when performing maintenance tasks? Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 10 / 30 Do specific exploration strategies affect the maintenance time?
  • 28. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Research Questions (1/1) Introduction Motivating Example Context Questions Goal Problem Benefits Empirical Study Do developers follow specific exploration strategies when performing maintenance tasks? Research Questions Data Metrics Strategy Identification Results Do specific exploration strategies affect the maintenance time? RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 10 / 30 Do specific exploration strategies affect the exploration effort?
  • 29. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Research Questions (1/1) Introduction Motivating Example Context Questions Goal Problem Benefits Empirical Study Do developers follow specific exploration strategies when performing maintenance tasks? Research Questions Data Metrics Strategy Identification Results Do specific exploration strategies affect the maintenance time? RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Do specific exploration strategies affect the exploration effort? Conclusion Threats to Validity and Future Work 10 / 30 Does extensive work results to a specific exploration strategy?
  • 30. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Data (1/3) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 11 / 30 Data Collection Four open-source projects: ECF, Mylyn, PDE, Eclipse Platform We focus on IHs build by Mylyn Mylyn is an industrial tool provided as an Eclipse’s plug-in (also CodingTracker) Mylyn’s IHs are available: all contributions to Mylyn must be made using Mylyn
  • 31. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Data (1/3) Introduction Motivating Example Context Example: Mylyn’s IHs as attachment (XML file) to a bug Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 11 / 30
  • 32. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 11 / 30 Empirical Study Data (1/3) Mylyn’s Interaction History
  • 33. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 11 / 30 Empirical Study Data (1/3) Mylyn’s Interaction History
  • 34. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 11 / 30 Empirical Study Data (1/3) Mylyn’s Interaction History
  • 35. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 12 / 30 Empirical Study Data (2/3) Parsing Interaction Histories
  • 36. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 12 / 30 Empirical Study Data (2/3) Parsing Interaction Histories
  • 37. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 12 / 30 Empirical Study Data (2/3) Parsing Interaction Histories
  • 38. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 12 / 30 Empirical Study Data (2/3) Parsing Interaction Histories
  • 39. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 12 / 30 Empirical Study Data (2/3) Parsing Interaction Histories
  • 40. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 12 / 30 Empirical Study Data (2/3) Parsing Interaction Histories
  • 41. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Data (3/3) Introduction Motivating Example Context Parsing StructureHandle Identify the type and parts of program entity Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 13 / 30
  • 42. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Data (3/3) Introduction Motivating Example Context Parsing StructureHandle Identify the type and parts of program entity Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work Parsing ⇒ A graph representation of an interaction history Remember: We focus on the program entity of type class 13 / 30
  • 43. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 14 / 30 Empirical Study Metrics (1/3) NumEvent(Classes) = e∈Classes NumEvent(e)
  • 44. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 15 / 30 Empirical Study Metrics (2/3) NumRevisits(c) = number of times a class c is revisited
  • 45. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Metrics (3/3) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 16 / 30 NumEdit: total number of edit events on all classes and their contents NumEdit(e) = event e NumEdit(event) NumEdit(Classes) = e∈Classes NumEdit(e)
  • 46. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Metrics (3/3) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 16 / 30 NumEdit: total number of edit events on all classes and their contents NumEdit(e) = event e NumEdit(event) NumEdit(Classes) = e∈Classes NumEdit(e) Exploration Effort: edit ratio which is related to the identification of the relevant entities NumEdit(Classes) EditRatio(Classes) = NumEvent(Classes)
  • 47. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Metrics (3/3) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results NumEdit: total number of edit events on all classes and their contents NumEdit(e) = event e NumEdit(event) NumEdit(Classes) = e∈Classes NumEdit(e) Exploration Effort: edit ratio which is related to the identification of the relevant entities NumEdit(Classes) EditRatio(Classes) = NumEvent(Classes) RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 16 / 30 Class Level Duration (CLD): total duration spent on all classes and their contents Duration(event) = EndDate(event) − StartDate(event) Duration(e) = event e Duration(event) CLD = Duration(Classes) = e∈Classes Duration(e)
  • 48. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Metrics (3/3) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results NumEdit: total number of edit events on all classes and their contents NumEdit(e) = event e NumEdit(event) NumEdit(Classes) = e∈Classes NumEdit(e) Exploration Effort: edit ratio which is related to the identification of the relevant entities NumEdit(Classes) EditRatio(Classes) = NumEvent(Classes) RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work Class Level Duration (CLD): total duration spent on all classes and their contents Duration(event) = EndDate(event) − StartDate(event) Duration(e) = event e Duration(event) CLD = Duration(Classes) = e∈Classes Duration(e) Overall Duration (OD): total duration spent on an IH OD = event∈IH Duration(event) 16 / 30
  • 49. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Strategy Identification (1/3) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results Gini Inequality Index Used in econometrics to measure the inequality of income among a population Gini ∈ [0, 1]: 0 (perfect equality), 1 (maximal inequality) We measure how much classes are (un)equally revisited NumRevisits = income of a class ⇒ Apply Gini [2] on NumRevisits RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Gini(IH) = 1 2n2 µ n n i=1 j=1 | NumRevisit(eni ) − NumRevisit(enj ) | Conclusion Threats to Validity and Future Work [2] K. Xu, How has the literature on Gini’s index evolved in the past 80 years?, Technical report, Department of Economics, Dalhouse University, 2004 17 / 30
  • 50. Exploration Strategies Z´phyrin Soh et al. e Empirical Study Strategy Identification (2/3) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Problem 1: Gini Threshold How to know if classes are (un)equally revisited? ⇒ Define a Gini Threshold Data Metrics Strategy Identification Results RQ1 If Gini(IH) < Threshold ⇒ Classes are almost equally revisited ⇒ EES: Extended Exploration Strategy RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 18 / 30 If Gini(IH) ≥ Threshold ⇒ Some classes are more revisited than others (core vs. periphery) ⇒ CES: Centralized Exploration Strategy
  • 51. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Empirical Study Strategy Identification (3/3) Problem 2: Cut-Off Point Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 19 / 30 For CES, core vs. periphery classes ⇒ Define a COP Ordered the classes by NumRevisits {(C 1, 9), (C 2, 2), (C 3, 4), (C 4, 16), (C 5, 11)} ⇒ (C 4, 16), (C 5, 11), (C 1, 9), (C 3, 4), (C 2, 2)
  • 52. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Empirical Study Strategy Identification (3/3) Problem 2: Cut-Off Point Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 19 / 30 For CES, core vs. periphery classes ⇒ Define a COP Ordered the classes by NumRevisits {(C 1, 9), (C 2, 2), (C 3, 4), (C 4, 16), (C 5, 11)} ⇒ (C 4, 16), (C 5, 11), (C 1, 9), (C 3, 4), (C 2, 2) COP: a maximum difference between NumRevisit of two consecutive classes ⇒ COP = 5: Between C4-C5, and C1-C3
  • 53. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Empirical Study Strategy Identification (3/3) Problem 2: Cut-Off Point Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 19 / 30 For CES, core vs. periphery classes ⇒ Define a COP Ordered the classes by NumRevisits {(C 1, 9), (C 2, 2), (C 3, 4), (C 4, 16), (C 5, 11)} ⇒ (C 4, 16), (C 5, 11), (C 1, 9), (C 3, 4), (C 2, 2) COP: a maximum difference between NumRevisit of two consecutive classes ⇒ COP = 5: Between C4-C5, and C1-C3 More than one COP: the one that provides more core classes ⇒ Between C1-C3
  • 54. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Empirical Study Strategy Identification (3/3) Problem 2: Cut-Off Point Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work For CES, core vs. periphery classes ⇒ Define a COP Ordered the classes by NumRevisits {(C 1, 9), (C 2, 2), (C 3, 4), (C 4, 16), (C 5, 11)} ⇒ (C 4, 16), (C 5, 11), (C 1, 9), (C 3, 4), (C 2, 2) COP: a maximum difference between NumRevisit of two consecutive classes ⇒ COP = 5: Between C4-C5, and C1-C3 More than one COP: the one that provides more core classes ⇒ Between C1-C3 Core classes = {C 4, C 5, C 1} Peripheral classes = {C 3, C 2} 19 / 30
  • 55. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (1/4) Introduction Motivating Example Context Problem 1: Manual Validation Build an Oracle Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 20 / 30 Random set of heterogenous interaction history Sample size: proportionally distributed among projects 95% ± 10 confidence level Use Graphviz to generate the exploration graphs Subjects: Three PhD students with Java Experience
  • 56. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (1/4) Introduction Motivating Example Context Problem 1: Manual Validation Build an Oracle Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 Random set of heterogenous interaction history Sample size: proportionally distributed among projects 95% ± 10 confidence level Use Graphviz to generate the exploration graphs Subjects: Three PhD students with Java Experience RQ2 RQ3 Validation Process RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work Explain the meaning of the graphs Subjects’ labels of a graph: C, E or D (Doubt) Final label: CES (or EES) if at less two C (or E) Undecided if completely different labels or two D 20 / 30
  • 57. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (2/4) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 21 / 30
  • 58. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (2/4) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 Compromise Threshold RQ2 RQ3 F-Measure: maximize both precision and recall RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 21 / 30
  • 59. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (3/4) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 22 / 30 Observation 1: Developers follow mostly the EES when performing a maintenance task.
  • 60. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (3/4) Introduction Motivating Example Context Goal Observation 1: Developers follow mostly the EES when performing a maintenance task. Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work Methodical developers do not reinvestigate methods as frequently as opportunistic developers [3] CES ⇒ opportunistic developers EES ⇒ methodical developers 22 / 30 [3] M. P. Robillard et al., How effective developers investigate source code: An exploratory study, IEEE TSE, 2004
  • 61. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (4/4) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 23 / 30 Confounding Factor Developers navigate through relationships between classes and key binding ⇒ The architecture can affect the ES
  • 62. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (4/4) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 23 / 30 Confounding Factor Developers navigate through relationships between classes and key binding ⇒ The architecture can affect the ES Classes (and relations) involved in an IH = part of the system used to perform a task
  • 63. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (4/4) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Confounding Factor Developers navigate through relationships between classes and key binding ⇒ The architecture can affect the ES Classes (and relations) involved in an IH = part of the system used to perform a task Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 23 / 30 If IHs A and B have almost the same part of a system ⇒ same ES A and B different parts ⇒ Different ES
  • 64. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (4/4) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Confounding Factor Developers navigate through relationships between classes and key binding ⇒ The architecture can affect the ES Classes (and relations) involved in an IH = part of the system used to perform a task Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 23 / 30 If IHs A and B have almost the same part of a system ⇒ same ES A and B different parts ⇒ Different ES Number of common classes (NCC) between A and B to capture their common part
  • 65. Exploration Strategies Results Z´phyrin Soh et al. e RQ1 (4/4) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Confounding Factor Developers navigate through relationships between classes and key binding ⇒ The architecture can affect the ES Classes (and relations) involved in an IH = part of the system used to perform a task Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 23 / 30 If IHs A and B have almost the same part of a system ⇒ same ES A and B different parts ⇒ Different ES Number of common classes (NCC) between A and B to capture their common part Compute NCC for each pair of IH No difference between the NCC of the IHs with the same ES and the NCC of the IHs with different ES ⇒ The architecture does not affect the ES
  • 66. Exploration Strategies Results Z´phyrin Soh et al. e RQ2 (1/1) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 24 / 30 Observation 2: The EES is on average 69.39% less time consuming than the CES.
  • 67. Exploration Strategies Results Z´phyrin Soh et al. e RQ2 (1/1) Introduction Motivating Example Context Goal Observation 2: The EES is on average 69.39% less time consuming than the CES. Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work Methodical developers performs tasks two times faster than opportunistic ones [3] CES ⇒ read source code in details [3] EES ⇒ look at explicit program entity(ies) [3] 24 / 30 [3] M. P. Robillard et al., How effective developers investigate source code: An exploratory study, IEEE TSE, 2004
  • 68. Exploration Strategies Results Z´phyrin Soh et al. e RQ3 (1/1) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 25 / 30 Observation 3: An EES requires more exploration effort than a CES.
  • 69. Exploration Strategies Results Z´phyrin Soh et al. e RQ3 (1/1) Introduction Motivating Example Context Goal Observation 3: An EES requires more exploration effort than a CES. Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work Methodical developers are successful developers compared to opportunistic developers [3] CES ⇒ code modifications in one place [3] EES surprising: IH edits vs. source code repository edits 25 / 30 [3] M. P. Robillard et al., How effective developers investigate source code: An exploratory study, IEEE TSE, 2004
  • 70. Exploration Strategies Results Z´phyrin Soh et al. e RQ4 (1/2) Introduction Motivating Example Context Goal Problem Expand the Work on Many Days Open-source project: developers are volunteers ⇒ they work on their spare time. Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 26 / 30 Number of working days spent on change request
  • 71. Exploration Strategies Results Z´phyrin Soh et al. e RQ4 (1/2) Introduction Motivating Example Context Goal Problem Expand the Work on Many Days Open-source project: developers are volunteers ⇒ they work on their spare time. Benefits Empirical Study Number of working days spent on change request Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 26 / 30 Unbalanced proportion of IH: the more days developers work on a change task, the more time they spend on program entities
  • 72. Exploration Strategies Results Z´phyrin Soh et al. e RQ4 (2/2) Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 27 / 30 Observation 4: Developers usually adopt a CES when performing maintenance tasks spanning on more than three days.
  • 73. Exploration Strategies Results Z´phyrin Soh et al. e RQ4 (2/2) Introduction Motivating Example Context Goal Problem Observation 4: Developers usually adopt a CES when performing maintenance tasks spanning on more than three days. Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 27 / 30 Developers refresh their mind by (re)understanding the entities that they explored before Mylyn task context feature sometimes push developers to (re)explore entities already explored in previous working sessions
  • 74. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 28 / 30 Conclusion and Future Work Conclusion (1/1)
  • 75. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 28 / 30 Conclusion and Future Work Conclusion (1/1)
  • 76. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 28 / 30 Conclusion and Future Work Conclusion (1/1)
  • 77. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 28 / 30 Conclusion and Future Work Conclusion (1/1)
  • 78. Exploration Strategies Conclusion and Future Work Z´phyrin Soh et al. e Threats to Validity and Future Work (1/1) Introduction Motivating Example Context Threats to Validity and Future Work Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 29 / 30 Construct validity: An IH can be a part of developers’ work
  • 79. Exploration Strategies Conclusion and Future Work Z´phyrin Soh et al. e Threats to Validity and Future Work (1/1) Introduction Motivating Example Context Threats to Validity and Future Work Goal Problem Benefits Empirical Study Construct validity: An IH can be a part of developers’ work Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 29 / 30 Conclusion validity: The time recorded can be different to the “real” time spent ⇒ Perform an experiment to collect a data
  • 80. Exploration Strategies Conclusion and Future Work Z´phyrin Soh et al. e Threats to Validity and Future Work (1/1) Introduction Motivating Example Context Threats to Validity and Future Work Goal Problem Benefits Empirical Study Construct validity: An IH can be a part of developers’ work Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 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 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 29 / 30
  • 81. Exploration Strategies Conclusion and Future Work Z´phyrin Soh et al. e Threats to Validity and Future Work (1/1) Introduction Motivating Example Context Threats to Validity and Future Work Goal Problem Benefits Empirical Study Construct validity: An IH can be a part of developers’ work Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 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 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 29 / 30 External validity: Our subject projets are Eclipse-based projects ⇒ Use other systems
  • 82. Exploration Strategies Z´phyrin Soh et al. e Introduction Motivating Example Context Goal Problem Benefits Empirical Study Research Questions Data Metrics Strategy Identification Results RQ1 RQ2 RQ3 RQ4 Conclusion and Future Work Conclusion Threats to Validity and Future Work 30 / 30 Thanks for your attention!