Using Interaction History and Eye-tracker Background Motivating - - PowerPoint PPT Presentation

using interaction history and eye tracker
SMART_READER_LITE
LIVE PREVIEW

Using Interaction History and Eye-tracker Background Motivating - - PowerPoint PPT Presentation

Interaction history and eye-tracker Z ephyrin Soh Introduction Context Using Interaction History and Eye-tracker Background Motivating Example System to Understand Program Related Work Program Exploration Comprehension Limitations of


slide-1
SLIDE 1

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Using Interaction History and Eye-tracker System to Understand Program Comprehension

Z´ ephyrin Soh

Ptidej Team, Soccer Lab DGIGL - ´ Ecole Polytechnique de Montr´ eal

September 18, 2012

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

slide-2
SLIDE 2

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Outline

Introduction Context Background Motivating Example Related Work Program Exploration Limitations of Previous Work Research Questions RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy Preliminary Results Feasibility Study Research Plan Conclusion

2 / 28

slide-3
SLIDE 3

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Context (1/2)

3 / 28

slide-4
SLIDE 4

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Context (1/2)

3 / 28

slide-5
SLIDE 5

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Context (1/2)

3 / 28

slide-6
SLIDE 6

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Context (2/2)

Program Comprehension

◮ Definition: A process in which the programmer uses

prior knowledge about programming and information present in the program to form a dynamic, evolving model of the program, which can then be applied to a task [1].

[1] Good, J., Programming Paradigms, Information Types and Graphical Representations: Empirical Investigations of Novice Program Comprehension, PhD Thesis, University of Edinburgh, 1999

4 / 28

slide-7
SLIDE 7

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Context (2/2)

Research Trends

There are three research trends on program comprehension:

◮ Theories: process, knowledge, model. ◮ Factors: program, developer, task. ◮ Exploration: developers’ behavior, task.

We focused on the exploration trend.

4 / 28

slide-8
SLIDE 8

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Background (1/2)

Program Exploration

Two main concepts:

◮ Interaction history: a sequence of interaction events

that describe accesses of and operations performed on a program’s artifacts within a user’s IDE [2].

◮ Task context: the program elements and relationships

relevant to completing a particular task [3]. We focus on the interaction histories build by the Mylyn Eclipse plugin: Industrial tool and use by all Mylyn contributors.

[2] Mik Kersten, Focusing knowledge work with task context, PhD Thesis, The University of British Columbia, 2007 [3] Mik Kersten and Gail C. Murphy, Using task context to improve programmer productivity, SIGSOFT’06/FSE 14, 2006

5 / 28

slide-9
SLIDE 9

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Background (1/2)

5 / 28

slide-10
SLIDE 10

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Background (1/2)

5 / 28

slide-11
SLIDE 11

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Background (1/2)

5 / 28

slide-12
SLIDE 12

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Background (2/2)

Eye-tracker System

◮ Eye-tracker: device used for measuring eye

movements [4].

◮ Eye movement data allow to know the observer’s visual

attention (focusing on a particular location).

◮ Eye-tracker collects two types of eye-gaze data:

◮ Fixation: stabilization of the eye on an object of

interest for a period of time.

◮ Saccade: movements of the eye from one fixation to

another.

[4] A. Duchowski, Eye tracking methodology: Theory and practice, Springer-Verlag New York Inc, 2007.

6 / 28

slide-13
SLIDE 13

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Background (2/2)

Example of eye-tracker fixations.

6 / 28

slide-14
SLIDE 14

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Motivating Example (1/3)

Example: Bug and Interaction History

7 / 28

slide-15
SLIDE 15

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Motivating Example (2/3)

Developer’s Interaction History

kind of event element name element type 1 select AttributePart.java file 2 select AttributePart class 3 select createControl(...) method 4 edit createControl method 5 select EditorUtil.java file 6 select MAXIMUM WIDTH attribute

8 / 28

slide-16
SLIDE 16

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Motivating Example (2/3)

Developer’s Interaction History

kind of event element name element type 1 select AttributePart.java file 2 select AttributePart class 3 select createControl(...) method 4 edit createControl method 5 select EditorUtil.java file 6 select MAXIMUM WIDTH attribute

Select Select Class1 Class2 Edit Class3

8 / 28

slide-17
SLIDE 17

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Motivating Example (3/3) Select Select Class1 Class2 Edit Class3

9 / 28

slide-18
SLIDE 18

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Introduction

Motivating Example (3/3) Select Select Class1 Class2 Edit Class3

Incomplete Data

◮ Data sometimes non representative and incomplete. ◮ It will negatively impact the use of the interaction

histories. ⇒ Absence of visual attention

9 / 28

slide-19
SLIDE 19

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (1/2)

Program Exploration

◮ NavTrack [5] uses the selection and open events to

provide recommendation view (discover hidden dependencies between files).

[5] J. Singer et al., Navtracks: Supporting navigation in software maintenance, ICSM 2005

10 / 28

slide-20
SLIDE 20

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (1/2)

Program Exploration

◮ NavTrack [5] uses the selection and open events to

provide recommendation view (discover hidden dependencies between files).

◮ Mylyn [6] gathers interaction histories to: [6] Mik Kersten and Gail C. Murphy, Mylar: a degree-of-interest model for IDEs, AOSD’05

10 / 28

slide-21
SLIDE 21

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (1/2)

Program Exploration

◮ NavTrack [5] uses the selection and open events to

provide recommendation view (discover hidden dependencies between files).

◮ Mylyn [6] gathers interaction histories to:

◮ Refine the Eclipse package explore content [7].

[7] Mik Kersten and Gail C. Murphy, Using task context to improve programmer productivity, SIGSOFT’06/FSE-14

10 / 28

slide-22
SLIDE 22

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (1/2)

Program Exploration

◮ NavTrack [5] uses the selection and open events to

provide recommendation view (discover hidden dependencies between files).

◮ Mylyn [6] gathers interaction histories to:

◮ Refine the Eclipse package explore content [7]. ◮ Determine which view the programmers used mostly [8].

[8] Gail C. Murphy et al.,How Are Java Software Developers Using the Eclipse IDE?, IEEE Software 2006

10 / 28

slide-23
SLIDE 23

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (1/2)

Program Exploration

◮ NavTrack [5] uses the selection and open events to

provide recommendation view (discover hidden dependencies between files).

◮ Mylyn [6] gathers interaction histories to:

◮ Refine the Eclipse package explore content [7]. ◮ Determine which view the programmers used mostly [8]. ◮ Find the editing style of the programmers (when the

programmers edit the code to perform a task) [9].

[9] A.T.T. Ying and M.P. Robillard, The Influence of the Task on Programmer Behaviour, ICPC 2011

10 / 28

slide-24
SLIDE 24

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (2/2)

Program Exploration

◮ SmartsGroups [10] complements Mylyn mechanisms by

considering evolutionary information (from source code repository, i.e., versions, authors, etc.) and dynamic information (from program execution).

[10] D. R¨

  • thlisberger, SmartGroups: Focusing on Task-Relevant Source

Artifacts in IDEs, ICPC 2011

11 / 28

slide-25
SLIDE 25

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (2/2)

Program Exploration

◮ SmartsGroups [10] complements Mylyn mechanisms by

considering evolutionary information (from source code repository, i.e., versions, authors, etc.) and dynamic information (from program execution).

◮ OCompletion [11] implements code completion

techniques using the change history.

[11] R. Robbes and M. Lanza, Improving code completion with program history, Autom Softw Eng (2010) 17: 181-212

11 / 28

slide-26
SLIDE 26

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (2/2)

Program Exploration

◮ SmartsGroups [10] complements Mylyn mechanisms by

considering evolutionary information (from source code repository, i.e., versions, authors, etc.) and dynamic information (from program execution).

◮ OCompletion [11] implements code completion

techniques using the change history.

◮ Spyware [12] is a visualization tool to graphically display

the change history of a developers’ sessions.

[12] R. Robbes and M. Lanza, Characterizing and Understanding Development Sessions, ICPC 2007

11 / 28

slide-27
SLIDE 27

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Program Exploration (2/2)

Program Exploration

◮ SmartsGroups [10] complements Mylyn mechanisms by

considering evolutionary information (from source code repository, i.e., versions, authors, etc.) and dynamic information (from program execution).

◮ OCompletion [11] implements code completion

techniques using the change history.

◮ Spyware [12] is a visualization tool to graphically display

the change history of a developers’ sessions.

Summary

The work on program exploration aims to reduce the programmers’ search effort (when searching the relevant elements to perform a given task).

11 / 28

slide-28
SLIDE 28

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Limitations of Previous Work (1/2)

Limitations

◮ No investigation of developers’ exploration strategies

  • f programs and how to use it.

12 / 28

slide-29
SLIDE 29

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Limitations of Previous Work (1/2)

Limitations

◮ No investigation of developers’ exploration strategies

  • f programs and how to use it.

◮ Interaction history sometime contains incomplete data.

12 / 28

slide-30
SLIDE 30

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Limitations of Previous Work (1/2)

Limitations

◮ No investigation of developers’ exploration strategies

  • f programs and how to use it.

◮ Interaction history sometime contains incomplete data. ◮ Eye-tracker collects useful data to understand how

developers visually explore the program.

12 / 28

slide-31
SLIDE 31

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Limitations of Previous Work (1/2)

Limitations

◮ No investigation of developers’ exploration strategies

  • f programs and how to use it.

◮ Interaction history sometime contains incomplete data. ◮ Eye-tracker collects useful data to understand how

developers visually explore the program.

◮ Eye-tracker works best with images which is far from

development environment (i.e., IDE).

12 / 28

slide-32
SLIDE 32

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Limitations of Previous Work (2/2)

Conjectures

There exist systematic ways to explore programs: exploration strategies.

  • Discover new exploration feature for IDEs.
  • Refine the understanding of how developers com-

prehend the program

13 / 28

slide-33
SLIDE 33

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Limitations of Previous Work (2/2)

Conjectures

There exist systematic ways to explore programs: exploration strategies.

  • Discover new exploration feature for IDEs.
  • Refine the understanding of how developers com-

prehend the program Exploration strategies can be used to guide devel-

  • pers when they explore a program: exploration

recommender.

  • Reduce developers’ effort.

13 / 28

slide-34
SLIDE 34

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Related Work

Limitations of Previous Work (2/2)

Conjectures

There exist systematic ways to explore programs: exploration strategies.

  • Discover new exploration feature for IDEs.
  • Refine the understanding of how developers com-

prehend the program Exploration strategies can be used to guide devel-

  • pers when they explore a program: exploration

recommender.

  • Reduce developers’ effort.

The interaction history of a given bug can help developers to fix the related bug(s): maintenance by analogy.

  • Reduce the time spent to fix a bug.
  • Improve team collaboration.

13 / 28

slide-35
SLIDE 35

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (1/2)

Exploration strategies and Program Structure

RQ1: Do any exploration strategies exist when a de- veloper performs a maintenance task?

◮ Pb1: How to collect interaction histories sets? ◮ Pb2: How much is the exploration close to the program

structure?

14 / 28

slide-36
SLIDE 36

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (2/2)

15 / 28 Mylyn bug report Download Interaction histories Interaction History (XML files)

Pb1

Bugs’ attachment instead of experiment data:

◮ No practitioners available. ◮ No real maintenance tasks

(avoid fatigue bias). ⇒ less interaction events

slide-37
SLIDE 37

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (2/2)

15 / 28 Mylyn bug report Download Interaction histories Interaction History (XML files) Sub-project

Pb2

We limit the study to the exploration based on relations between classes.

slide-38
SLIDE 38

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (2/2)

15 / 28 Mylyn bug report Download Interaction histories Interaction History (XML files) Sub-project Extract the Classes graph Classes graph

Model interaction history as a graph

A

Legend

  • A. AttributePart
  • B. createControl
  • C. EditorUtil
  • D. MAXIMUM_WIDTH

B C D

1 2 3 4 5

A

Legend

  • A. AttributePart
  • C. EditorUtil

C

1 2

slide-39
SLIDE 39

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (2/2)

15 / 28 Mylyn bug report Download Interaction histories Interaction History (XML files) Sub-project Extract the Classes graph Reverse Engineering Classes graph Relations between classes

slide-40
SLIDE 40

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (2/2)

15 / 28 Mylyn bug report Download Interaction histories Interaction History (XML files) Sub-project Extract the Classes graph Reverse Engineering Classes graph Relations between classes Compute metrics Degree of Structural exploration

slide-41
SLIDE 41

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (2/2)

15 / 28 Mylyn bug report Download Interaction histories Interaction History (XML files) Sub-project Extract the Classes graph Reverse Engineering Classes graph Relations between classes Compute metrics Degree of Structural exploration

◮ DSE = UniqueNumberofMappedTransition(UNMT) NumberofExistingRelation(NER) ◮ ED = The total duration of the interaction history

A

Legend

  • A. AttributePart
  • C. EditorUtil

C

1 2

slide-42
SLIDE 42

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (2/2)

15 / 28 Mylyn bug report Download Interaction histories Interaction History (XML files) Sub-project Extract the Classes graph Reverse Engineering Classes graph Relations between classes Compute metrics Degree of Structural exploration

◮ More structured exploration if DSE → 1 ◮ Structured exploration reduces maintenance time if

ED and DSE have inverse correlation.

slide-43
SLIDE 43

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ1: Exploration Strategies and Program Structure (2/2)

15 / 28 Mylyn bug report Download Interaction histories Interaction History (XML files) Sub-project Extract the Classes graph Reverse Engineering Classes graph Relations between classes Compute metrics Degree of Structural exploration

◮ More structured exploration if DSE → 1 ◮ Structured exploration reduces maintenance time if

ED and DSE have inverse correlation. We think that knowing the exploration strategies can help to find method to reduce developers’ effort.

slide-44
SLIDE 44

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ2: Exploration Strategies and Triggers (1/2)

Exploration Strategies and Triggers

RQ2: Can a eye-tracker system combined with interac- tion histories help to understand program exploration strategies?

◮ Pb3: How to combine eye-tracker data and interaction

histories?

◮ Pb4: How to identify the program exploration

strategies?

16 / 28

slide-45
SLIDE 45

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ2: Exploration Strategies and Triggers (2/2)

17 / 28 Mylyn Plugin Mylyn extension Mylyn with screenshot feature

Save a screenshot for each interaction event.

slide-46
SLIDE 46

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ2: Exploration Strategies and Triggers (2/2)

17 / 28 Mylyn Plugin Mylyn extension Mylyn with screenshot feature Eye-tracker system Data collection (Experiment) Interaction histories with screenshot Eye-gaze data

Perform an experiment to collect both enhanced interaction history data and eye-tracker data.

slide-47
SLIDE 47

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ2: Exploration Strategies and Triggers (2/2)

17 / 28 Mylyn Plugin Mylyn extension Mylyn with screenshot feature Eye-tracker system Data collection (Experiment) Interaction histories with screenshot Eye-gaze data Data splitting Interaction histories with eye-gaze data

Obtain a set of fixations for each interaction event.

slide-48
SLIDE 48

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ2: Exploration Strategies and Triggers (2/2)

17 / 28 Mylyn Plugin Mylyn extension Mylyn with screenshot feature Eye-tracker system Data collection (Experiment) Interaction histories with screenshot Data codification List of triggers' element Eye-gaze data Data splitting Interaction histories with eye-gaze data Transition data

◮ Provide what element triggered

the move from eventi (imagei) to eventi+1 (imagei+1)

◮ Trigger = element on which the

last fixations are. Element category (declaration) and element kind (method, class, etc.)

slide-49
SLIDE 49

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ2: Exploration Strategies and Triggers (2/2)

17 / 28 Mylyn Plugin Mylyn extension Mylyn with screenshot feature Eye-tracker system Data collection (Experiment) Interaction histories with screenshot Data codification Data analysis Exploration strategies in terms of triggers' element List of triggers' element Eye-gaze data Data splitting Interaction histories with eye-gaze data Transition data

Investigate exploration strategies, e.g., what is the most used trigger?

slide-50
SLIDE 50

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ3: Exploration Recommender (1/2)

Exploration Recommender

The task context can become complex to explore ⇒ Refine it using recommender

18 / 28

slide-51
SLIDE 51

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ3: Exploration Recommender (1/2)

Exploration Recommender

The task context can become complex to explore ⇒ Refine it using recommender RQ3: Can the exploration strategy be used to guide a developer when she explore the program?

◮ Pb 5: How to recommend the next candidate(s) to

explore?

18 / 28

slide-52
SLIDE 52

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ3: Exploration Recommender (2/2)

19 / 28

Set of Interaction events Exploration strategy identification Exploration strategy

Dynamically identify exploration strategy.

slide-53
SLIDE 53

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ3: Exploration Recommender (2/2)

19 / 28

Set of Interaction events Exploration strategy identification Exploration strategy Mylyn task context Recommender Set of candidate to explore

slide-54
SLIDE 54

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ3: Exploration Recommender (2/2)

19 / 28

Set of Interaction events Exploration strategy identification Exploration strategy Mylyn task context Recommender Usability study Set of candidate to explore Usefullness

  • f the

recommender

slide-55
SLIDE 55

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ4: Maintenance by Analogy (1/2)

Maintenance by Analogy

RQ4: Can the developers’ interaction histories of a bug be used to fix a related bug(s)?

◮ Pb 6: How to use interaction histories of a fixed bug

when a developer fix a bug related to the fixed bug(s)?

20 / 28

slide-56
SLIDE 56

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Questions

RQ4: Maintenance by Analogy (2/2)

21 / 28

Mylyn plugin Mylyn extension Task context loader Mylyn developers Use of Task Context loader Usefullness of the maintenance by analogy Usability study

slide-57
SLIDE 57

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Preliminary Results

Feasibility Study (1/5)

Two Experiments

◮ If visual attention can be used to find differences in

developers comprehension, then developers with same competencies may have the same exploration strategies.

◮ We used visual attention metrics to measure program

comprehension.

22 / 28

slide-58
SLIDE 58

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Preliminary Results

Feasibility Study (2/5)

Experiment 1 [13]

◮ Goal: Study the impact of expertise and professional

status on the understanding of UML class diagram.

◮ Objects: UML class diagrams of 3 systems (ArgoUML,

JUnit, QuickUML).

◮ Subjects: Students and practitioners. ◮ Independent variables: Expertise and professional status. ◮ Dependent variables: Accuracy, time, visual effort

(convex hull, spatial density).

[13] Z. Soh, Z. Sharafi, B. Van den Plas, G.C. Porras, Y.-G. Gu´ eh´ eneuc, and

  • G. Antoniol., Professional status and expertise for UML class diagram

comprehension: An empirical study, pages 163-172, ICPC 2012

23 / 28

slide-59
SLIDE 59

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Preliminary Results

Feasibility Study (3/5)

Experiment 2 [14]

◮ Goal: Study the impact of the gender and identifier

style on source code reading.

◮ Objects: Three Java code snippets. ◮ Subjects: Students. ◮ Independent variables: Identifier style and gender. ◮ Dependent variables: Accuracy, time, visual effort

(convex hull, Fixations count, fixations rate).

[14] Z. Sharafi, Z. Soh, Y.-G. Gu´ eh´ eneuc, and G. Antoniol., Women and men - different but equal: On the impact of identifer style on source code reading., pages 27-36, ICPC 2012

24 / 28

slide-60
SLIDE 60

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Preliminary Results

Feasibility Study (4/5)

25 / 28

Convex Hull Area

◮ Smaller convex set of fixations

containing all subject’s fixations.

◮ Smaller convex hull ⇒ close fixations

⇒ less visual effort.

slide-61
SLIDE 61

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Preliminary Results

Feasibility Study (4/5)

Spatial Density

◮ Number of visited cells / total number of cells. ◮ less visits ⇒ less visual effort. ◮ In TAUPE [15], cell’s size = 64x64px [15] B. D. Smet, L. Lempereur, Z. Sharafi, Y.-G. Gu´ eh´ eneuc, G. Antoniol, and

  • N. Habra, Taupe: Visualising and analysing eye-tracking data, Science of

Computer Programming, 2011

25 / 28

slide-62
SLIDE 62

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Preliminary Results

Feasibility Study (5/5)

Results

◮ Experiment 1

◮ Experts have a directed and efficient search of the

relevant elements.

◮ Novices have an extended and inefficient search.

◮ Experiment 2

◮ Female subjects spend more visual effort on alternative

answers.

◮ Male subjects seem to go quickly for one choice. 26 / 28

slide-63
SLIDE 63

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Preliminary Results

Feasibility Study (5/5)

Lesson

Both findings show that:

◮ An exploration strategy could be found for a group of

developers.

◮ The exploration strategy of the experienced developers

could help novice ones.

26 / 28

slide-64
SLIDE 64

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Research Plan (1/1)

◮ Primary work: Two experiements (ICPC) ◮ RQ1: Measure how much the exploration of programs is

close to program structure.

◮ RQ2: Combine eye-tracker data and interaction

histories.

◮ RQ2: Investigate the exploration strategies. ◮ RQ3: Exploration Recommender. ◮ RQ4: Maintenance by Analogy. ◮ Write thesis and defend it.

27 / 28

slide-65
SLIDE 65

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Conclusion (1/1)

28 / 28

Discover new exploration feature for IDEs. Refine the understanding of how developers com- prehend the program Reduce developers’ effort. Reduce the time spent to fix a bug. Improve team collaboration.

slide-66
SLIDE 66

Interaction history and eye-tracker Z´ ephyrin Soh Introduction

Context Background Motivating Example

Related Work

Program Exploration Limitations of Previous Work

Research Questions

RQ1: Exploration Strategies and Program Structure RQ2: Exploration Strategies and Triggers RQ3: Exploration Recommender RQ4: Maintenance by Analogy

Preliminary Results

Feasibility Study

Research Plan Conclusion

Conclusion (1/1)

28 / 28

Discover new exploration feature for IDEs. Refine the understanding of how developers com- prehend the program Reduce developers’ effort. Reduce the time spent to fix a bug. Improve team collaboration.

Thanks for your attention!