To Fix or to Learn? How Production Bias Affects Developers’ Information Foraging during Debugging 1 David Piorkowski 1 Scott D. Fleming 2 Christopher Scaffidi.

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

The Range of Qualitative Methods Module number 4 ESRC workshops for qualitative research in management.
Task 3 - Style 1.Comment on aspects of the essay style you liked or disliked and give reasons why. 2. In what ways is her style similar or different from.
HOW DO PROFESSIONAL DEVELOPERS COMPREHEND TO SOFTWARE Report submitted by Tobias Roehm, Rebecca Tiarks, Rainer Koschke, Walid Maalej.
Nine Steps to Delivering Defect-Free Software By: Terence M. Colligan Presented by: Isaac Bailey.
CS305: HCI in SW Development Evaluation (Return to…)
Persuasion Dr. K. A. Korb University of Jos. Outline McGuire’s Attitude Change Model Yale Programme Elaboration Likelihood Model (ELM) Fear Appeals Dr.
Profiling developing second language readers: Differences in language proficiency, strategy use and reading interest Chien-Yu Lin.
Empirically Assessing End User Software Engineering Techniques Gregg Rothermel Department of Computer Science and Engineering University of Nebraska --
Evaluation Methodologies
The Information School of the University of Washington Information System Design Info-440 Autumn 2002 Session #10 BOO! BOO!
SLIDE 1IS 202 – FALL 2003 Lecture 26: Final Review Prof. Ray Larson & Prof. Marc Davis UC Berkeley SIMS Tuesday and Thursday 10:30 am - 12:00.
A teachers’ project: “Towards learner autonomy”. A teachers’ project: towards learner autonomy §Rationale §What we wanted to achieve §The process §Problems.
Evaluating the usability of the BlueJ environment. Marilyn Barallon Supervisor: Dr.Linda McIver.
Evaluating your ideas and Reading the Literature Psych 231: Research Methods in Psychology.
Chapter 10: Project Communications Management. 2303KM Project Management Learning Objectives 1.Project Communications Management Processes 2.Explain the.
Your presentations in CSSE 477 CSSE 477 Software Architecture Week 9, Day 4.
Pair Programming Testing 2, October 14, Administration  Project due Monday 2PM SHARP  Remember all parts of documentation (list of tests, project.
Introduction to Systems Analysis and Design Trisha Cummings.
Systems Analysis and Design: The Big Picture
How much architecture? Reducing the up-front effort MICHAEL WATERMAN, JAMES NOBLE, GEORGE ALLAN 1 Agile India 2012.
Instructional Research and Research Synthesis Russell Gersten Instructional Research Group & University of Oregon.
Quantitative Research Qualitative Research? A type of educational research in which the researcher decides what to study. A type of educational research.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Effects of Two Advance Organizers on Listening Comprehension in Video Viewing— Pictorial Contextual Cues versus Verbal Contextual Keys Spooky Chang July.
CSSE 513 – COURSE INTRO With homework and project details Wk 1 – Part 2.
An exploration of students’ problem solving behaviors Presenter: Chun-Yi Lee Advisor: Ming-Puu Chen Muir, T., Beswick, K., & Williamson, J. (2008). I am.
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
A Meta-Study of Algorithm Visualization Effectiveness Christopher Hundhausen, Sarah Douglas, John Stasko Presented by David Burlinson 8/10/2015.
Debug Concern Navigator Masaru Shiozuka(Kyushu Institute of Technology, Japan) Naoyasu Ubayashi(Kyushu University, Japan) Yasutaka Kamei(Kyushu University,
1 Asking and Answering Questions during a Programming Change Task, By Jonathan Sillito, Member, IEEE, Gail C. Murphy, Member, IEEE, and Kris De Volder.
MARTIN P. ROBILLARD, McGill University, Canada ACM Transactions on Software Engineering and Methodology (TOSEM), vol. 17, no. 4, August 2008 Presented.
Systems Analysis and Design in a Changing World, Fourth Edition
Research Methods in Human Computer Interaction Shahnewaz A. Jolly Instructor: Dr. Saul Greenberg 30th November,
Ermer, Cosmides, Tooby By: Breana & Bryan Relative status regulates risky decision making about resources in men: evidence for the co-evolution of motivation.
Imagine science classrooms in which: The teacher pushes a steel needle through a balloon and the balloon does not burst. The teacher asks the students.
“Isolating Failure Causes through Test Case Generation “ Jeremias Rößler Gordon Fraser Andreas Zeller Alessandro Orso Presented by John-Paul Ore.
Reading Comprehension. Give a summary of the text after reading. Talk about interesting and new information Derive meaning of new words from context.
Chong Ho Yu Research Methods 362. What is the overall objective of this study? Example: According to “You lost me” written by David Kinnaman, 59% of young.
Improving Intrinsic Motivation in Reading: Effects of Reading Strategies Instruction Group members 陳毓茜 (Nancy) 鐘晨嫚 (Edith) 宋盛郁 (Ellen)
Quantitative Research Qualitative Research? A type of educational research in which the researcher decides what to study. A type of educational research.
Definition Title: Motivation and Attitude toward Integrated Instruction through Technology in College-level EFL Reading and Writing in Taiwan Integrated.
INF oktober Conversations and interviews INF October 2005.
Biological Model Engineering Peter Saffrey, Department of Medicine Cakes Talk Monday, October 20, 2008.
Quantitative and Qualitative research
Explain How Researchers Use Inductive Content Analysis (Thematic Analysis) on Transcripts.
Processing Faces with Emotional Expressions: Negative Faces Cause Greater Stroop Interference for Young and Older Adults Gabrielle Osborne 1, Deborah Burke.
Argumentation in Students’ Accounts of Carbon-transforming Processes Kennedy Onyancha, Michigan State University Charles W. Anderson, Michigan State University.
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.
Declarative Metacognitive Knowledge of Young Writers Shirley Larkin University of Exeter, UK.
A CONCEPTUAL PAPER BY JOSCYLN LEMOK ANAK EMPUNGAN (P71724)
A Wiki to Help Microsoft Design Development Tools: Putting Information Foraging Theory into Practice Prof. Christopher Scaffidi, Oregon State University.
Qualitative Data Analysis and Interpretation. Understanding Qual. Reseach Q.R.: involves the systematic use of a variety of empirical materials – case.
A CONTENT ANALYTIC COMPARISON OF LEARNING PROCESSES IN ONLINE and FACE- TO-FACE CASE STUDY DISCUSSIONS by Heckman and Annabi (2005)
Reactive Information Foraging An Empirical Investigation of Theory-Based Recommender Systems for Programmers David Piorkowski  Scott D. Fleming  Christopher.
Thesis presentation Kaisa Pihlaja
Jovana Milosavljevic Ardeljan PEDAGOGICAL IMPLICATIONS
Modeling Programmer Navigation
How Programmers Debug, Revisited: An Information Foraging Theory Perspective Joseph Lawrance, Christopher Bogart, Margaret Burnett, Senior Member, IEEE,
Architecture Components
A Wiki to Help National Instruments to Design Development Tools: Putting Information Foraging Theory into Practice Prof. Christopher Scaffidi, Oregon.
Data Collection & Analysis Methods Suggestion for Further Study
Finding Answers through Data Collection
Introduction to Systems Analysis and Design
What is Research? A research study is a study conducted to collect and analyse information in order to increase our understanding of a topic or an issue.
Code search & recommendation engines
Towards a better method of searching source code
By Hyunsook Do, Sebastian Elbaum, Gregg Rothermel
Seminar on empirical paper: “Eliciting Design Requirements for Maintenance-Oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks”
Chapter 13 Logical Architecture.
Presentation transcript:

To Fix or to Learn? How Production Bias Affects Developers’ Information Foraging during Debugging 1 David Piorkowski 1 Scott D. Fleming 2 Christopher Scaffidi 1 Margaret Burnett 1 Irwin Kwan 1 Austin Z. Henley 2 Jamie Macbeth 3 Charles Hill 1 Amber Horvath 1 1 Oregon State Univ. 2 Univ. of Memphis 3 Clemson Univ.

Software Maintenance and Learning Software maintenance requires learning about code Methodological exploration cuts coding time in half Lots of work has been done to help developers with learning – e.g. Binkley and Lawrie, Kevik et al., Moreno et al., Wang et al. all ICSME ’14 2 Robillard et al. TSE ‘04

Problem: Programmers avoid comprehension “Wherever possible, programmers avoid comprehension” Studies confirming that programmers try to code as quickly as possible – e.g. Brandt et al. CHI ‘09, LaToza et al. ICSE ‘06, Maalej et al. TOSEM ‘14 3 Rohem et al. ICSE ‘12

Production bias may explain this Production Bias – Motivational paradox – “Do” instead of learn – Even if learning would be better Goal: Understand how production bias affects information seeking in debugging 4 Carroll and Rosson ‘87

Approach Conduct an observational study of debugging Using Information Foraging Theory (IFT) as a conceptual framework – Explains and predicts how people seek information 5

Cues & ScentTopology & Patches Prey Information Foraging Theory (IFT) Predator

IFT & Production Bias foraging to fix vs. foraging to learn Differences in… RQ1 … foraging goals sought? RQ2 … patches decisions were made? RQ3 … cues attended to? RQ4 … tactics used? 7

Method Participants: 9 student programmers Either: – Fix a defect in jEdit – Learn enough to onboard a new programmer Procedure: – 30 mins fixing or learning – Talk aloud – Retrospective interview 8

IFT & Production Bias foraging to fix vs. foraging to learn Differences in… RQ1 … foraging goals sought? RQ2 … patches decisions were made? RQ3 … cues attended to? RQ4 … tactics used? 9

RQ1: Similar goals P2: “I’m going to search for that delete lines thing in the code to see what it does.” P10: “…so I can search for that text. Delete lines.” 10 P4: “Delete lines. I’m searching for delete lines” P11: “Okay I should be looking for this text (delete lines). How do I find this text?”

IFT & Production Bias foraging to fix vs. foraging to learn Differences in… RQ1 … foraging goals sought? RQ2 … patches decisions were made? RQ3 … cues attended to? RQ4 … tactics used? 11

RQ2: Patch Types 12 Patch Types: Locations where a foraging decision was made

RQ2: Fixers and Learners made decisions in different patches 13

Fixers wanted details “Since [the bug is] something that I'm trying to fix in a hurry, I would prefer to do as little of that really high level architectural stuff.” – Participant 3 14

Learners wanted the bigger picture 15 P5 (learn) was interested in code structure Foraged within patches that exposed hierarchy

16 “I'm going to go try and find some much higher level point [in the code].” – Participant 5 Learners wanted the bigger picture

17 “I'm going to go try and find some much higher level point [in the code].” – Participant 5 Learners wanted the bigger picture

18 “I'm going to go try and find some much higher level point [in the code].” – Participant 5 Learners wanted the bigger picture

19 “I'm going to go try and find some much higher level point [in the code].” – Participant 5 Learners wanted the bigger picture

20 “I'm going to go try and find some much higher level point [in the code].” – Participant 5 Learners wanted the bigger picture

21 “I'm going to go try and find some much higher level point [in the code].” – Participant 5 Learners wanted the bigger picture

RQ2: Implications Tools – Details vs Big Picture – Low-level details may not help learners – High-level details may not help fixers Theory – Cost / benefit differences between fixers and learners 22

IFT & Production Bias foraging to fix vs. foraging to learn Differences in… RQ1 … foraging goals sought? RQ2 … patches decisions were made? RQ3 … cues attended to? RQ4 … tactics used? 23

RQ3: Cue Types Cue types: Based not on the content, but on the source of inspiration 24 Source Code Content Inspired Domain Text Output Inspired

RQ3: Fixers and Learners attended to different cues 25

Fixers and Learners used the same cue types differently Source-code content inspired: – Fixers: Mainly within Editor patch type All but 2 instances – Learners: High-level and low-level patch types High level: Package Explorer and Outline View Low level: Editor and Stack Trace 26

RQ3: Implications Tools: – Change cues accordingly for fixing or learning – Fixers: draw cues from code – Learners: draw cues from output Theory: – Cue types non-reliance on content 27

Conclusions Fix Focus: Low-level details RQ2: Editor and Stack Trace patch types RQ3: Source-code inspired cue types Learn Focus: High-level details RQ2: Search Results patch types RQ3: Output-inspired cue types 28