Context as an antidote to information overload

Preview:

DESCRIPTION

Context as an antidote to information overload. Gail C. Murphy University of British Columbia Tasktop Technologies. Presented at MSA 2010 on March 18, 2010. - PowerPoint PPT Presentation

Citation preview

Context as an antidote toinformation overload

Gail C. Murphy

University of British ColumbiaTasktop 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 onMarch 18, 2010

warnings…

emerging thoughts

mixture of fact and fiction

definitions may be fuzzy

Slide not available underCreative Commons license

information

is everywhere

and is neededSlide not available under

Creative Commons license

especially in programming

from 10,000 metres

10,000 Java files26,000 Bugzilla bugs45,000 newsgroup entries

eclipse 3.0

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

Java files

especially in programming

from 1 metre

massive amountsof data available

changes every54 seconds (IBM group)Fritz, Ou, Murphy and Murphy-Hill, ICSE 2010.

fact 1:programmers face

an avalanche of information daily

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]

emerging informationcan be critical

changing web services

team awareness[Sarma et al, 03]

fact 2:historical and emerging information

increase the avalanche

NowHistorical Emerging

programmers work with fragments of information

change sets are partial

Soloway et. al., 1988

Ko et. al., 2005

fact 3:programmers work with small parts of the avalanche

NowHistorical Emerging

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 underCreative Commons license

the nature of work

tasksyesterday

knowledgeownership

context

subset of (optionally decorated)structured information elements

tasksyesterday

knowledgeownership

context

Mylyn - gathering and representation

degree-of-knowledge (DOK) - broader representation

information fragments - composition and presentation

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.

Mylyn in action…

Mylyn – task context

tasks

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

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

DOK – developer context

authorship changes

DOK – developer context

element interaction

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 interestFA = first authorship by programmer pDL = deliveries by programmer pAC = accepts by programmer pDOI = degree-of-interesta, b, c, d are weightings

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

DOK – developer context

bug recommendation- can pick out pertinent ones

programmer1 knowledgemodel

bug 2234

bug 5588

bug 9221changing bugs

with change sets

DOK – developer context

programmer1DOK

programmer2DOK

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

information fragments - composition and presentation

bugs fragment

team fragment

composed fragment

presentation 1presentation 2

x

y z

information fragments - composition and presentationbug

s composer

information fragments - composition and presentation

change sets composer

information fragments - composition and presentationsource

code composer

information fragments - composition and presentation compo

sercompos

er

what is my team working on?

what has changed in my

code?

information fragments - composition and presentation

18 industrial participants working on unfamiliar data set from industrial project

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? …

information fragments - composition and presentationRSS feed for web service API

bug changes

information fragments - composition and presentation

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

pervasive use of contexts(getting there)

tasks

developer model

information fragments

pervasive use of contexts(future)

pervasive use of contexts(future)

ContextSelectionConcern

Summary

three top challenges

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

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

work with, share, trade, filter with contexts

meghan allenjohn anvikelisa baniassadwesley coelhodavor cubranicbrian de alwisrob elvesthomas fritzjan hannemannlyndon hiewreid holmesmik kerstenshawn mintoe murphy-hilljingwen oumartin robillardizzet saferdavid shepherdducky sherwoodp. viriyakattiyapornannie yingrobert walkerand others!

information is everywhere and is needed

Slide not available underCreative Commons license

context as an antidote to information overload

Gail Murphywww.cs.ubc.ca/~murphy