context as an antidote to information overloadffffffff-896a-a3c8-0000...context as an antidote to...

46
Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies Unless otherwise indicated on a particular slide, this work is licensed under a Creative Commons Attribution-Share Alike 2.5 Canada License Presented at MSA 2010 on March 18, 2010

Upload: others

Post on 13-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

Context as an antidote to information overload

Gail C. Murphy

University of British Columbia

Tasktop Technologies

Unless otherwise indicated on a particular slide, this work is licensed under a Creative Commons Attribution-Share Alike 2.5 Canada License

Presented at MSA 2010 on

March 18, 2010

Page 2: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

warnings…

emerging thoughts

mixture of fact and fiction

definitions may be fuzzy

Page 3: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

Slide not available under

Creative Commons license

Page 4: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information

is everywhere

and is needed Slide not available under

Creative Commons license

Page 5: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

especially in programming

from 10,000 metres

10,000 Java files

26,000 Bugzilla bugs

45,000 newsgroup entries

eclipse 3.0

www.eclipse.org/eclipse/development/eclipse_3_0_stats.html

Java files

Page 6: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

especially in programming

from 1 metre

massive amounts of data available

changes every

54 seconds

(IBM group)

Fritz, Ou, Murphy and Murphy-Hill, ICSE 2010.

Page 7: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

fact 1: programmers face

an avalanche of information daily

Page 8: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

historical information can be helpful

recommendations

- previous change tasks

[Ĉubranić et. al, 2003] - methods that frequently change together [Zimmermann et. al, 2004]

- methods navigated together

[DeLine et. al, 2005]

Page 9: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

emerging information can be critical

changing web services

team awareness [Sarma et al, 03]

Page 10: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

fact 2: historical and emerging information

increase the avalanche

Now Historical Emerging

Page 11: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

programmers work with fragments of information

change sets are partial

Soloway et. al., 1988

Ko et. al., 2005

Page 12: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

fact 3: programmers work with small parts of

the avalanche

Now Historical Emerging

Page 13: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

fact 1 programmers face an avalanche of information daily

fact 2 historical and emerging

information increase the

avalanche

fact 3 programmers work with small

parts of the avalanche

information overload

Slide not available under

Creative Commons license

Page 14: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

the nature of work

tasks yesterday

knowledge ownership

Page 15: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

context

subset of (optionally decorated) structured information elements

tasks yesterday

knowledge ownership

Page 16: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

context

Mylyn

- gathering and representation

degree-of-knowledge (DOK)

- broader representation

information fragments - composition and presentation

Page 17: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

Mylyn – task context

built automatically as a programmer works

interest

each element in context decorated with degree-of-interest (DOI)

Kersten and Murphy, FSE 2006.

Page 18: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

Mylyn in action…

Page 19: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

Mylyn – task context

tasks

Page 20: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

fact 1 programmers face an avalanche

of information daily

fact 2 historical and emerging

information increase the avalanche

fact 3 programmers work with small parts of the avalanche

Mylyn – task context

Page 21: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

DOK – developer context

programmer 1

built automatically as a programmer works from interaction & authorship

each element decorated with degree-of-knowledge (DOK)

Fritz, Ou, Murphy and Murphy-Hill, ICSE 2010.

programmer 2

Page 22: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

DOK – developer context

authorship changes

Page 23: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

DOK – developer context

element interaction

Page 24: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

DOK – developer context

DOK(e, p): a*FA(e, p) + b*DL(e, p) - c*AC(e,p) + d *DOI(e,p)

e = element of interest FA = first authorship by programmer p

DL = deliveries by programmer p

AC = accepts by programmer p DOI = degree-of-interest

a, b, c, d are weightings

Page 25: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

DOK – developer context

expertise recommendation

study with 7 IBM developers

55% accuracy compared to

developer assessments of experts

for packages

11% better accuracy than existing

approaches on same data

Page 26: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

DOK – developer context

bug recommendation - can pick out pertinent

ones

programmer1 knowledge

model

bug 2234 bug 5588 bug 9221

changing bugs

with change sets

Page 27: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

DOK – developer context

programmer1DOK

programmer2DOK

Page 28: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

fact 1 programmers face an avalanche

of information daily

fact 2 historical and emerging

information increase the avalanche

fact 3 programmers work with small parts of the avalanche

DOK – developer context

Page 29: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

bugs fragment

team fragment

composed fragment

presentation 1 presentation 2

x

y z

Page 30: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

bugs

composer

Page 31: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

change sets composer

Page 32: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

source code

composer

Page 33: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

composer composer

what is my team working on?

what has changed in my code?

Page 34: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

18 industrial participants working on unfamiliar data set from industrial project

Page 35: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

interviewed 11 industrial developers

78 questions of interest - Who is working on what?

- What is the evolution of the code?

- Who is using the API I am about to change? …

Page 36: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

RSS feed for web service

API

bug changes

Page 37: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information fragments - composition and presentation

Page 38: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

fact 1 programmers face an avalanche

of information daily

fact 2 historical and emerging

information increase the avalanche

fact 3 programmers work with small parts of the avalanche

information fragments - composition and presentation

Page 39: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

pervasive use of contexts (getting there)

tasks

developer model

information fragments

Page 40: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

pervasive use of contexts (future)

Page 41: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

pervasive use of contexts (future)

Task

s

Context Selection Concern

Summary

Page 42: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

three top challenges

automatic determination of context or pre-configured contexts for 98+% of cases

intuitive, low-effort user interfaces for applying and manipulating contexts

work with, share, trade, filter with contexts

Page 43: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

meghan allen john anvik elisa baniassad wesley coelho davor cubranic brian de alwis rob elves thomas fritz jan hannemann lyndon hiew reid holmes mik kersten shawn minto e murphy-hill jingwen ou martin robillard izzet safer david shepherd ducky sherwood p. viriyakattiyaporn annie ying robert walker and others!

Page 44: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

information is everywhere and is needed

Page 45: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

Slide not available under

Creative Commons license

Page 46: Context as an Antidote to Information Overloadffffffff-896a-a3c8-0000...Context as an antidote to information overload Gail C. Murphy University of British Columbia Tasktop Technologies

context as an antidote to information overload

Gail Murphy www.cs.ubc.ca/~murphy