Top Banner
Big data. Little Brain. Little data. Big brain. (with apologies to Dr. Seuss) 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
54

Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

Mar 26, 2018

Download

Documents

trinhmien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

Big data. Little Brain. Little data. Big brain.

(with apologies to Dr. Seuss)

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

Page 2: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

2

frustruation

Page 3: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

3

problem

result

big data >> little data little brain transformational factors

situational factors

*big data refers to much much more data than humans can consume

*

Page 4: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

4

fact #1:

software engineering is about solving human problems

Page 5: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

5

fact #2:

software developments generate big data over time

Page 6: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

6

fact #3:

human cognition has limits

Page 7: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

7

premise:

our “solutions” often exceed human cognition

<cartoon removed due to license restrictions>

Page 8: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

8

big data. little brain.

big brain. little data.

duplicate bug examples to derive “formula”

big data >> little data little brain

stories about formula properties

transformational & situational factors

take away

h

Page 9: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

9

duplicate bug problem

Page 10: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

10

how does a developer realize/find a new bug is a duplicate?

Page 11: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

11

1. duplicate bug search with keywords

big data big brain

bug #56162:

reported in 2000 16 comments

hundreds of words

bug #136422:

reported in 2000

32 comments

2x as long as #56162

Page 12: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

12

2. duplicate bug search with natural language recommender

big data >> little data big brain

36-50% recall

[Runenson et. Al, ICSE 2007] [Hiew, MSc Thesis, 2006]

Page 13: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

13

3. duplicate bug search with natural language +execution recommender

big data >> little data big brain

67-93% recall

[Wang et. Al, ICSE 2008]

Page 14: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

14

4. duplicate bug search with recommender & summarizer

big data >> little data little brain

Summary:

View source is broken.

The second time I use it, the View

source window fails to open, but I

get an hourglass-and-pointer

cursor.

I can’t reproduce comment 0 with

Mozilla/5.0

[Rastkar & Murphy, ICSE 2010]

Page 15: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

15

interludes

big data >> little data significant reduction in data

a human considers

big brain versus little brain

amount of cognitive and physical activity required to perform task

Page 16: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

16

big data >> little data little brain

Page 17: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

17

big data. little brain.

big brain. little data.

duplicate bug examples to “derive formula”

big data >> little data little brain

stories about formula properties

transformation & situational factors

take away

Page 18: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

18

stories

software reflexion model hipikat mylyn

spyglass

to get at formula properties

h

Page 19: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

19

story #1: software reflexion model

three case studies,

including one at Microsoft

[Murphy, Notkin, Sullivan, FSE 1995]

Page 20: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

20

high-level model of part of Microsoft Excel

[Murphy & Notkin, Computer 1997]

Page 21: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

21

example (not Excel) low-level model (Excel : 15,000 functions/77,746 calls)

Diagram from http://rixstep.com/1/1/20070206,00.shtml

Page 22: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

22

mapping

[ file = ^shtreal\.c mapTo=Sheet ] [ file = ^textfl1[ez]\.c$ mapTo=File ]

[ file = ^shtreal\.c function=foo mapTo=Graph ]

blue entry is illustrative

Page 23: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

23

reflexion model (partial)

Page 24: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

24

big data >> little data little brain

big data = low-level model little data = high-level model

transformational properties

low-cost (albeit manual)

assessable completeness

predictable

Page 25: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

25

high-level

model mapping low-level

model

reflexion

model

mapped

low-level model

unmapped

low-level model

low-cost because

mapping can be

specified simply,

incrementally and

partially

easy to assess

completeness

predictable

Page 26: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

26

big data >> little data little brain

story #1: software reflexion models

low-cost (manual)

assessable completeness

predictable

Page 27: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

27

[Cubranic & Murphy, ICSE 2003]

story #2: hipikat

wizard-of-oz case study

multiple case study (long sessions)

manual precision/recall

Page 28: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

28

[Cubranic, Murphy, Booth and Singer, TSE 2005]

Page 29: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

29

Page 30: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

30

+ text (e.g., exception trace)

Page 31: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

31

big data >> little data big brain

big data = project repositories little data = recommendations

transformational properties

low-cost (automatic)

situational factors

context (automatic)

Page 32: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

32

low-cost because

project memory

auto-updates

multiple entry

points provide

auto-context

Page 33: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

33

big data >> little data big brain

story #2: hipikat

low-cost (automatic)

context (automatic)

Page 34: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

34

story #3: mylyn

three field studies

adoption in practice

[Kersten & Murphy, FSE 2006]

Page 35: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

35

demo

Page 36: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

36

big data >> little data little brain

big data = workspace information little data = focused workspace information

transformational properties

low-cost (automatic)

assessable completeness

predictable

situational factors pervasive fits in workflow

Page 37: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

37

complete, predictable,

automatic (with

manual override)

pervasive

Page 38: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

38

folding/ &

content assist

test

change sets

workflow

Page 39: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

39

big data >> little data little brain

story #3: mylyn

pervasive fits in workflow

low-cost (automatic) assessable completeness

predictable

Page 40: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

40

story #4: spyglass

longitudinal case study

controlled lab study

[Viriyakattiyaporn & Murphy, CASCON 2010]

Page 41: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

41

Page 42: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

42

big data >> little data big brain

big data = user interactions in workspace little data = recommended commands

transformational properties

low-cost (automatic)

situational factors (mostly) fits in workflow

Page 43: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

43

automatic

(mostly) fits in workflow

Page 44: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

44

big data >> little data big brain

story #4: spyglass

(mostly) fits in workflow

low-cost (automatic)

Page 45: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

45

lessons

Page 46: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

46

lessons about transformational factors

big data >> little data

low-cost (manual or automatic)

assessable completeness

predictable

Page 47: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

47

reflexion

model

hipikat mylyn spyglass

low-cost

assessable

completeness

predictable

need sufficiently high

precision/recall?

Page 48: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

48

lessons about situational factors

little data little brain

context (automatic) pervasive

workflow

Page 49: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

49

reflexion

model

hipikat mylyn spyglass

context

(automatic)

~ (3.6)

pervasive

workflow

~

provide intent

automatically?

how to handle

specialized tools?

big brain

Page 50: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

50

Page 51: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

51

john anvik

elisa baniassad

wesley coelho

davor cubranic

brian de alwis

rob elves

thomas fritz

jan hannemann

lyndon hiew

reid holmes

mik kersten

seonah lee

shawn minto

martin robillard

izzet safer

david shepherd

ducky sherwood

annie ying

trevor young

robert walker

and others!

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

sarah rastkar

martin robillard

izzet safer

david shepherd

ducky sherwood

apple

viriyakktiyaporn

annie ying

trevor young

robert walker

and others!

Page 52: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

52

take away

Page 53: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

53

Page 54: Big data. Little Brain. Little data. Big brain. · PDF fileBig data. Little Brain. Little data. Big brain. ... story #1: software reflexion ... high-level model of part of Microsoft

54

problem

result

big data >> little data little brain transformational factors

situational factors

www.cs.ubc.ca/~murphy www.tasktop.com