building usage contexts from interaction history

Post on 29-Jun-2015

191 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Evaluating different algorithms for code recommendations.

TRANSCRIPT

Building Usage Contexts from Interaction History

Chris ParninCarsten Görg

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.

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

Task-Switching Approaches

Light-weight Visualization: Mylar

Recommendation System: FAN

Our Contributions

More formal interest model. Experimental framework for

evaluating models of interest, and recommendations.

Provide suggestions for tool designers to better accommodate developers.

How Do Developer’s Express Interest?

Code Editor Edit Copy/Paste Click

Navigation Command Select

Other Query Inspect

inspect

commands

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

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}

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

Evaluating Interest Models

AAAABBCBAEFB A

CacheInteractions

Algorithm

LFU

LFU (decay)

FIFO

LRU

OPT

Cache Replacement

How to replace least interesting element?

Interest Models Performance

Intensity Slide

Evaluating Recommendations

ABACXACXCXCXCY YBXAXACYACXCYCX

A

C

B.33

.66

X.90

Y.10

k-most likely recommendations

NEXT Recommendation Performance

0

2

4

6

8

10

12

14

2 4 6 8 10

recovery

explore

total

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.

Improved Design

We can recover previously visited elements with cache.

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

NEXT+ Results

0

5

10

15

20

25

30

35

40

45

50

0 2 4 6 8 10 12

recovery

explore

total

total*

Conclusions (Advice)

Design tools for work environments.

Record interactions when possible to evaluate tools.

Study the nature of how tasks are performed.

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

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

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

Interactions in Week

0

500

1000

1500

2000

2500

3000

Monday Tuesday Wednesday Thursday Friday Saturday Sunday

Clicks

Commands

Edits

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

top related