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.

Slides:



Advertisements
Similar presentations
Debugging in End- User Software Engineering summarized by Andrew Ko Toward Sharing Reasoning to Improve Fault Localization in Spreadsheets Joey Lawrance,
Advertisements

Tell me, I forget. Show me, I remember. Involve me, I understand. -Ancient Chinese Proverb.
HOW DO PROFESSIONAL DEVELOPERS COMPREHEND TO SOFTWARE Report submitted by Tobias Roehm, Rebecca Tiarks, Rainer Koschke, Walid Maalej.
What in the world wide web do they want? Jean Anselmi Quit Victoria.
The Giver and Gathering Blue Unit
Principles of Smart Home Control Carnegie Mellon University HCI Institute School of Design smarthome.cs.cmu.edu Scott Davidoff Min Kyung Lee John Zimmerman.
IS-EUD Collaboration Workshop 2011 Roundtable discussions Organizers: Chris Scaffidi, Margaret Burnett, Maria Francesca Costabile, Simone Stumpf, Volker.
Customer: Rosalva Gallardo Team members: Susan Lin Buda Chiou Jim Milewski Marcos Mercado November 23, 2010.
Dynamic Layout Optimization for Newspaper Web Sites using a Controlled Annealed Genetic Algorithm Gjermund Brabrand H06MMT.
Usability Testing as a User- Centered Design Tool Judy Ramey Dept. of Technical Communication March 30, 2005.
The Information School of the University of Washington Information System Design Info-440 Autumn 2002 Session #18.
Web Usability by Scott Grissom1 Web Usability Scott Grissom Computer Science & Information Systems.
Empirically Assessing End User Software Engineering Techniques Gregg Rothermel Department of Computer Science and Engineering University of Nebraska --
Info1409 De Montfort University1 Lecture 4 Analysing the Business Case (1) System Users and their needs Systems Analysis & Design Academic Year 2008/9.
Info1409 De Montfort University1 Requirements Modelling Systems Analysis & Design Academic Year 2008/9 Info 1409 Lecture 7.
Warm-up, Free-write Task: –On a blank sheet of paper, begin to write down what you know about the users of your product, the tasks they use the product.
Stanford hci group / cs147 u 23 October 2008 Human-Information Interaction Scott Klemmer.
Stanford hci group / cs147 u 06 November 2007 Human-Information Interaction Scott Klemmer tas: Marcello Bastea-Forte, Joel Brandt,
CSCD 330 Network Programming Winter 2012 Lecture 1 - Course Details.
Dr. Laura McLaughlin Taddei
Stanford HCI Group Adobe Advanced Technology Labs Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code Joel.
© 2014 Blackboard Inc. All rights reserved.. Create groups in Blackboard Learn. Select group members based on your course outcomes. Select the right group.
Digging for diamonds: Identifying valuable web automation programs in repositories Jarrod Jackson 1, Chris Scaffidi 2, Katie Stolee 2 1 Oregon State University.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
Learning Law Orientation: August 16, Synthesis Judgment 4. Problem Solving 3. Spotting Issues 2. Understanding 1. Knowledge 1. Recognition vs.
Web application project Advertising board web site Created by : Alon Nagar Supervisor:Victor Kulikov.
Research on the Interaction Between Human and Machines University of Houston-Clear Lake Tasha Y. David.
Lecture 8: Choosing the Correct Loop. do … while Repetition Statement Similar to the while statement Condition for repetition only tested after the body.
Review Empirical evaluations – Usability testing – Think-aloud studies – Statistical studies.
Selecting Appropriate Websites The Study of World Communities Session 2 of 8.
Towards aiding within-patch information foraging by end-user programmers Balaji Athreya, Chris Scaffidi Oregon State University.
Methods and Models Choice of methods for Development of IT related products and systems SVINGSVING Conference held in Gothenburg, Sweden, October 2000.
Developing learner competency in the clinical environment GRACE Session 3 GRACE Program.
Copyright 2004, all rights reserved Seeking a Core Literature: The Current State of Search Education in Top LIS Schools Scott.
Web Design Guidelines by Scott Grissom 1 Designing for the Web  Web site design  Web page design  Web usability  Web site design  Web page design.
Research Methods in Human Computer Interaction Shahnewaz A. Jolly Instructor: Dr. Saul Greenberg 30th November,
May Nils Pharo - Web information search strategies - CoLIS3 Web information search strategies - a model for classifying Web interaction ? Nils Pharo.
College of Education Helping Schools Evaluate Needs and Select Best Practices in Childhood Mental Health.
Information Scent as a Driver of Web Behavior Graphs: Results of a Protocol Analysis Method for Web Usability.
What Training is Needed by Practicing Engineers Who Create Cyberphysical Systems? Chris Scaffidi Oregon State University (USA)
© 2001 Hans Schaefer Slide no. 1 Fast reviews Fast reviews for small immature organizations Hans Schaefer Software Test Consulting N-5281 Valestrandsfossen,
Understanding User Goals in Web Search University of Seoul Computer Science Database Lab. Min Mi-young.
Eclipse. An IDE is an Integrated Development Environment Different IDEs meet different needs BlueJ, DrJava are designed as teaching tools Emphasis is.
Candidate Assessment of Performance Conducting Observations and Providing Meaningful Feedback Workshop for Program Supervisors and Supervising Practitioners.
PROJECT TITLE Project Members Name Surname Advisor Name Surname 1.
Presenting Your Research Writing Abstracts, Creating Posters Jason I. Hong July 30, 2003 University of California Berkeley SUPERB 2003.
Knowledge sharing and creation in a teachers’ professional virtual community Presenter: Che-Yu Lin Advisor: Min-Puu Chen Date: August 5, Lin, F.,
Facilitating Enterprise Software Developer Communication with CARES Anja Guzzi Delft University of Technology - The Netherlands Andrew Begel Jessica.
Engaging Learners in Citizen Science Data Collection A Focus on Birds and Climate.
Finding the Mean David R. David N.. Mean The average of the numbers in a set of data is the mean.
Reflection Journal Librarian: Christi Pickard Campus: Francone Date: 10/10/2008.
Computer Programming Thinking in Code. Intro Computational Thinking Decompose Patterns General and Abstract Algorithms.
Prof. James A. Landay University of Washington Autumn 2004 Design Patterns for the Web #1 October 21, 2004.
To Fix or to Learn? How Production Bias Affects Developers’ Information Foraging during Debugging 1 David Piorkowski 1 Scott D. Fleming 2 Christopher Scaffidi.
A Wiki to Help Microsoft Design Development Tools: Putting Information Foraging Theory into Practice Prof. Christopher Scaffidi, Oregon State University.
Action Research for School Leaders by Dr. Paul A. Rodríguez.
Reactive Information Foraging An Empirical Investigation of Theory-Based Recommender Systems for Programmers David Piorkowski  Scott D. Fleming  Christopher.
Lesson 11: Web Services and API's
Modeling Programmer Navigation
How Programmers Debug, Revisited: An Information Foraging Theory Perspective Joseph Lawrance, Christopher Bogart, Margaret Burnett, Senior Member, IEEE,
Chapter 16: User Interface Design
Simultaneous Support for Finding and Re-Finding
A Wiki to Help National Instruments to Design Development Tools: Putting Information Foraging Theory into Practice Prof. Christopher Scaffidi, Oregon.
Install Ruby If you are running on Mac OS X, Ruby is preinstalled.
William Jones, Harry Bruce
ClinicalTrials.gov clinicaltrials.gov
Lesson 11: Web Services and API's
Standards for Mathematical Practice
Seminar on empirical paper: “Eliciting Design Requirements for Maintenance-Oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks”
Overview of Information Foraging
Presentation transcript:

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

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?)

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

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

Prey Operationalization Patches Predator 5 Diet

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

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

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

Goal TypeP2P3P5P6P7P8P9P10P11 1-initial build group groups RQ1: Programmers’ Diets Were Diverse Same goal but highly diverse diets  Long tail 9

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.

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

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

RQ2: Less Between-Patch Foraging Than Expected StrategiesP2P3P5P6P7P8P9P10P11 Within-Patch Between-Patch Enrichment

RQ2: Less Between-Patch Foraging Than Expected StrategiesP2P3P5P6P7P8P9P10P11% Within-Patch % Between-Patch % Enrichment % Between-Patch was least frequent, but the most studied in IFT-based literature %

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 …

RQ2: Search Was Unpopular StrategyP2P3P5P6P7P8P9P10P11 1. Testing Spatial Control Flow Code Inspection Code Search of 9 participants chose not to search at all

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

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

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.

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.

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