Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Whats and Hows of Programmers’ Foraging Diets David Piorkowski 1, Scott Fleming 2, Irwin Kwan 1 Margaret Burnett 1, Chris Scaffidi 1, Rachel Bellamy.

Similar presentations


Presentation on theme: "The Whats and Hows of Programmers’ Foraging Diets David Piorkowski 1, Scott Fleming 2, Irwin Kwan 1 Margaret Burnett 1, Chris Scaffidi 1, Rachel Bellamy."— Presentation transcript:

1 The Whats and Hows of Programmers’ Foraging Diets David Piorkowski 1, Scott Fleming 2, Irwin Kwan 1 Margaret Burnett 1, Chris Scaffidi 1, Rachel Bellamy 3, Joshua Jordahl 1 1 Oregon State University 2 University of Memphis 3 IBM Research

2 Information Foraging Theory (IFT) Information seeking is one of the most important activities in HCI Information Foraging Theory – Predator seeking Prey 2 Gap: Diet is mostly untapped (What info do predators choose to look for?)

3 Exception: Study of "early adopter" web users [Evans & Card, CHI’ 08] What diets people had when looking at assimilated info on the web Some Findings: – Users’ diets differed from mainstream news sites – Long Tail 3 Goal: Understand programmers’ diets

4 Research Questions RQ1: What is a programmer’s diet? RQ2: How do programmers forage? RQ3: Whats meet Hows 4

5 Prey Operationalization Patches Predator 5 Diet

6 The Study Participants: 9 professional programmers Task: Debug a defect in jEdit Procedure: – 70 min of debugging – Talk aloud – Questionnaires 6

7 Research Questions RQ1: What is a programmer’s diet? RQ2: How do programmers forage? RQ3: Whats meet Hows 7

8 Data Analysis: Information Goal Types Code set: – Using 44 questions programmers ask [Sillito et al. ‘06] Grouped into 4 categories: 1.Finding initial focus points 2.Building on those points 3.Understanding a group of code 4.Understanding groups of groups 8

9 Goal TypeP2P3P5P6P7P8P9P10P11 1-initial6 76 0 34 188 82 2-build31 2 24 3417 16 15 11 3-group22 2 32315911 4-groups 13 1000903 16 RQ1: Programmers’ Diets Were Diverse Same goal but highly diverse diets  Long tail 9

10 RQ1: Most Foraging Fell Into Distinct Patterns 10 Repeat Oscillate Stairstep Pyramid Restart 58% of programmers’ foraging was part of a pattern. 78% of that foraging was in a new pattern, Repeat.

11 Research Questions RQ1: What is a programmer’s diet? RQ2: How do programmers forage? RQ3: Whats meet Hows 11

12 Data Analysis: Strategies Code set: – Debugging strategies [Grigoreanu et. al, CHI ‘10] Grouped strategies to IFT foraging activities – Within-Patch Foraging – Between-Patch Foraging – Enrichment 12

13 RQ2: Less Between-Patch Foraging Than Expected StrategiesP2P3P5P6P7P8P9P10P11 Within-Patch356315594829693442 Between-Patch23935202835292232 Enrichment375634443943303450 13 2323 9 2020 2828 29292 3232

14 RQ2: Less Between-Patch Foraging Than Expected StrategiesP2P3P5P6P7P8P9P10P11% Within-Patch35631559482969344240% Between-Patch23935202835292232 23% Enrichment37563444394330345037% Between-Patch was least frequent, but the most studied in IFT-based literature. 14 23%

15 RQ2: Search Was Unpopular Strategy 1. Testing 2. Spatial 3. Control Flow 4. Code Inspection 5. Code Search 15  Testing was most frequent  Code Search was the 5 th most frequent …

16 RQ2: Search Was Unpopular StrategyP2P3P5P6P7P8P9P10P11 1. Testing 36 0 34 145 37 30 2245 2. Spatial25 39 5283114 47 1912 3. Control Flow19118142027231421 4. Code Inspection491016171522730 5. Code Search0510 2933 40120 4 of 9 participants chose not to search at all. 16 0000

17 Research Questions RQ1: What is a programmer’s diet? RQ2: How do programmers forage? RQ3: Whats meet Hows 17

18 Information Goal Types % Strategy Occurs per Information Goal Type RQ3: Strategies’ Diet Specificity 18 Enrichment Strategies Between-Patch Strategies Within-Patch Strategies

19 RQ3: Strategies’ Diet Specificity 19 Information Goal Types % Strategy Occurs per Information Goal Type Spatial Strategy: Used for all goal types Code Search Strategy: Used for 1-Initial or 2-Build Testing Strategy: Used for 3-group and 4-groups Opportunities for tools to select strategies appropriate to programmers’ information goals.

20 RQ3: Cost of Selectivity 20 P3: “Let’s just look for ‘delete’ again.” [Searches for ‘delete.’] P3: “Let me try to look for ‘delete’ again.” [Searches for ‘delete.’] P3: “I Imagine that I would look for the word delete perhaps, especially given that that’s the term that’s used in the menu, but I think I’ll try again. [Searches for ‘delete.’]” P3: [Searches.] “Java search, in the workspace, a method including ‘delete.’” Programmers’ diets are highly selective. They are willing to face high costs and meager returns for specific information.

21 Summary and Conclusions Surprises – Abundance of Repeat pattern – Less between-patch foraging than expected – Search was unpopular Tools – Diverse diets & strategies  Support individual differences – Some strategies were diet specific 21 Programmers’ dietary needs were highly selective


Download ppt "The Whats and Hows of Programmers’ Foraging Diets David Piorkowski 1, Scott Fleming 2, Irwin Kwan 1 Margaret Burnett 1, Chris Scaffidi 1, Rachel Bellamy."

Similar presentations


Ads by Google