context as an antidote to information overloadffffffff-896a-a3c8-0000...context as an antidote to...
TRANSCRIPT
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
warnings…
emerging thoughts
mixture of fact and fiction
definitions may be fuzzy
Slide not available under
Creative Commons license
information
is everywhere
and is needed Slide not available under
Creative Commons license
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
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.
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 information can be critical
changing web services
team awareness [Sarma et al, 03]
fact 2: historical and emerging information
increase the avalanche
Now Historical 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
Now Historical 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 under
Creative Commons license
the nature of work
tasks yesterday
knowledge ownership
context
subset of (optionally decorated) structured information elements
tasks yesterday
knowledge ownership
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 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
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 knowledge
model
bug 2234 bug 5588 bug 9221
changing 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 1 presentation 2
x
y z
information fragments - composition and presentation
bugs
composer
information fragments - composition and presentation
change sets composer
information fragments - composition and presentation
source code
composer
information fragments - composition and presentation
composer composer
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 presentation
RSS 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)
Task
s
Context Selection Concern
Summary
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
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!
information is everywhere and is needed
Slide not available under
Creative Commons license
context as an antidote to information overload
Gail Murphy www.cs.ubc.ca/~murphy