building usage contexts from interaction history

26
Building Usage Contexts from Interaction History Chris Parnin Carsten Görg

Upload: chris-parnin

Post on 29-Jun-2015

191 views

Category:

Technology


1 download

DESCRIPTION

Evaluating different algorithms for code recommendations.

TRANSCRIPT

Page 1: Building usage contexts from interaction history

Building Usage Contexts from Interaction History

Chris ParninCarsten Görg

Page 2: Building usage contexts from interaction history

Information Worker Environments

Distractions Email, Meetings, Personal Events Work fragmentation Task switching

Costs Resumed tasks difficult, take twice as long. 40% of tasks not resumed. 57% of tasks interrupted. 62% recovering interruptions serious problem.

Page 3: Building usage contexts from interaction history

Research Question

How can we support software development in a distracting and multi-tasked environment?

Can we support the ability of a developer to: Maintain elements of interest Recommend elements of interest

Page 4: Building usage contexts from interaction history

Task-Switching Approaches

Page 5: Building usage contexts from interaction history

Light-weight Visualization: Mylar

Page 6: Building usage contexts from interaction history

Recommendation System: FAN

Page 7: Building usage contexts from interaction history

Our Contributions

More formal interest model. Experimental framework for

evaluating models of interest, and recommendations.

Provide suggestions for tool designers to better accommodate developers.

Page 8: Building usage contexts from interaction history

How Do Developer’s Express Interest?

Code Editor Edit Copy/Paste Click

Navigation Command Select

Other Query Inspect

inspect

commands

Page 9: Building usage contexts from interaction history

Maintaining elements of interest

AAABABAAAAAXYACCDDADABAACDBA

{A,B,C,D,X,Y}

If we captured elements of interest Which elements are most interesting? How many elements to choose from?

Interaction History Event Stream

Usage Context

Page 10: Building usage contexts from interaction history

Recommend elements of interest

Can we recommend elements of interest? Are we accurate? Useful? Do opportunities to give

recommendations actually exist?

{A,B,C} {D}

Page 11: Building usage contexts from interaction history

Case Study

Visual Studio Plug-in collects Event, Element Name, Timestamp

Data 10 Government Employees 30 days of interactions.

Evaluation Cache of most interesting elements Recommendation Systems

NEXT – FAN like system. ASSOC

Page 12: Building usage contexts from interaction history

Evaluating Interest Models

AAAABBCBAEFB A

CacheInteractions

Algorithm

LFU

LFU (decay)

FIFO

LRU

OPT

Cache Replacement

How to replace least interesting element?

Page 13: Building usage contexts from interaction history

Interest Models Performance

Page 14: Building usage contexts from interaction history

Intensity Slide

Page 15: Building usage contexts from interaction history

Evaluating Recommendations

ABACXACXCXCXCY YBXAXACYACXCYCX

A

C

B.33

.66

X.90

Y.10

k-most likely recommendations

Page 16: Building usage contexts from interaction history

NEXT Recommendation Performance

0

2

4

6

8

10

12

14

2 4 6 8 10

recovery

explore

total

Page 17: Building usage contexts from interaction history

Why did we get this results?

Recommendation design Each state generates suggestions Short lifetime of recommendation

Transition patterns Recent access is strong feature. 95% transitions to previous methods. Small opportunity to make predictions.

Page 18: Building usage contexts from interaction history

Improved Design

We can recover previously visited elements with cache.

We inject recommendations into cache. Clearly mark as recommendations. Extends lifetime of recommendation.

Page 19: Building usage contexts from interaction history

NEXT+ Results

0

5

10

15

20

25

30

35

40

45

50

0 2 4 6 8 10 12

recovery

explore

total

total*

Page 20: Building usage contexts from interaction history

Conclusions (Advice)

Design tools for work environments.

Record interactions when possible to evaluate tools.

Study the nature of how tasks are performed.

Page 21: Building usage contexts from interaction history

Performance on High Intensity

0

5

10

15

20

25

30

35

40

45

50

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

OPT

OPT

Page 22: Building usage contexts from interaction history

Number of methods interacted

Distribution of Size of Context in a Day

0.0%

2.0%

4.0%

6.0%

8.0%

10.0%

12.0%

14.0%

16.0%

18.0%

20.0%

17 35 52 70 87 105 122 140 157 175 192 210 227 245 262 280 297 315 332

Number of Methods

Per

cen

tag

e

Page 23: Building usage contexts from interaction history

Interactions in Day

Interactions in Day

0

500

1000

1500

2000

2500

3000

9 10 11 12 1 2 3 4 5

Clicks

Commands

Edits

Page 24: Building usage contexts from interaction history

Interactions in Week

0

500

1000

1500

2000

2500

3000

Monday Tuesday Wednesday Thursday Friday Saturday Sunday

Clicks

Commands

Edits

Page 25: Building usage contexts from interaction history

Edit/Navigation Ratio

0.00

5.00

10.00

15.00

20.00

25.00

30.00

35.00

0 2 4 6

B

C

D

E

F

G

H

I

J

K

A

Page 26: Building usage contexts from interaction history