Download presentation
Presentation is loading. Please wait.
Published byHoratio Hopkins Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.