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 LicenseCreative 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,000Java files 26,000Bugzilla bugs 45,000newsgroup entries eclipse 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 NowHistoricalEmerging
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 HistoricalEmerging
fact 1 programmers face an avalanche of information daily fact 2 historical and emerging information increase the avalanche fact 3programmers 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 3programmers 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 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 programmer 1 knowledge model bug 2234 bug 5588 bug 9221 changing bugs with change sets
DOK – developer context programmer1 DOK programmer2 DOK
fact 1 programmers face an avalanche of information daily fact 2 historical and emerging information increase the avalanche fact 3programmers 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 bug s composer
information fragments - composition and presentation change sets composer
information fragments - composition and presentation source code compos er
information fragments - composition and presentation compos 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 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 3programmers 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)
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