Foraging and navigations, fundamentally: developers' predictions of value and cost
@article{Piorkowski2016ForagingAN, title={Foraging and navigations, fundamentally: developers' predictions of value and cost}, author={David Piorkowski and Austin Z. Henley and Tahmid Nabi and Scott D. Fleming and Christopher Scaffidi and Margaret M. Burnett}, journal={Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering}, year={2016} }
Empirical studies have revealed that software developers spend 35%–50% of their time navigating through source code during development activities, yet fundamental questions remain: Are these percentages too high, or simply inherent in the nature of software development? Are there factors that somehow determine a lower bound on how effectively developers can navigate a given information space? Answering questions like these requires a theory that captures the core of developers' navigation…
Figures and Tables from this paper
20 Citations
Version Control Systems: An Information Foraging Perspective
- Computer ScienceIEEE Transactions on Software Engineering
- 2021
Using the lens of Information Foraging Theory (IFT), new insights not revealed by the prior empirical work are presented and some evidence as to IFT's scoping and utility for the version control domain is provided.
How end-user programmers debug visual web-based programs: An information foraging theory perspective
- Computer ScienceJ. Comput. Lang.
- 2019
Facilitating end-user developers by estimating time cost of foraging a webpage
- Computer Science2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
- 2017
Operationalizable constructs from Information Foraging Theory are used to identify two features: information accumulation and information amount for a webpage, which it is hypothesized could assist developers in selecting appropriate webpages.
Toward Foraging for Understanding of StarCraft Agents: An Empirical Study
- Psychology, Computer ScienceIUI
- 2018
A formative study into how experienced users foraged in the domain of StarCraft to assess an agent showed that participants faced difficult foraging problems.
Toward Principles for the Design of Navigation Affordances in Code Editors: An Empirical Investigation
- Computer ScienceCHI
- 2017
A between-subjects empirical study comparing the navigation behaviors of 32 professional LabVIEW programmers using two different code-editor interfaces: the ubiquitous tabbed editor and the experimental Patchworks editor proposes five general principles for the design of effective navigation affordances in code editors.
Foraging goes mobile: Foraging while debugging on mobile devices
- Computer Science2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
- 2017
The results show ways prior foraging research results from desktop IDEs generalize to mobile IDEs and ways they do not, and point to challenging open research questions for foraging on mobile environments.
How the Experts Do It: Assessing and Explaining Agent Behaviors in Real-Time Strategy Games
- Computer ScienceCHI
- 2018
Insight is provided into shoutcasters' foraging strategies for gleaning information necessary to assess and explain the players; a characterization of the types of implicit questions shoutcasters answered; and implications for creating explanations by using the patterns and abstraction levels these human experts revealed.
Creating Socio-Technical Patches for Information Foraging: A Requirements Traceability Case Study
- Computer Science2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
- 2018
This work examines requirements socio-technical graphs to describe the key relationships that a patch should encode to assist in a requirements traceability task, and presents an algorithm, based on spreading activation, which extracts a relevant set of these relationships as a patch.
Designing affordances for navigating information spaces in code editors
- Computer Science2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
- 2016
Navigating information spaces is a fundamental yet challenging task for software developers and is further complicated by programmers' rapidly changing information goals and mental models of the information as they navigate.
Supporting Code Comprehension via Annotations: Right Information at the Right Time and Place
- Computer Science2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
- 2020
It is found that having the right information at the right time and place leads to increased accuracy and reduced cognitive load during code comprehension tasks, without sacrificing the usability of developer tools.
References
SHOWING 1-10 OF 48 REFERENCES
The whats and hows of programmers' foraging diets
- Computer ScienceCHI
- 2013
Professional developers' foraging strategies leaned more heavily toward enrichment than the authors expected, but different strategies aligned with different goal types, helping fill the gap as to what programmers' dietary goals are and how their strategies relate to those goals.
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
- Computer ScienceTSEM
- 2013
This work investigates the applicability and utility of Information Foraging Theory for understanding information-intensive software engineering tasks, drawing upon literature in three areas: debugging, refactoring, and reuse.
How Programmers Debug, Revisited: An Information Foraging Theory Perspective
- Computer ScienceIEEE Transactions on Software Engineering
- 2013
An information foraging theory of debugging is presented that treats programmer navigation during debugging as being analogous to a predator following scent to find prey in the wild.
Reactive information foraging for evolving goals
- Computer ScienceCHI
- 2010
This work presents a new information foraging model called PFIS2 that does model information seeking with potentially evolving goals and evaluated variants of this model in a field study that analyzed programmers' daily navigations over a seven-month period.
Reactive information foraging: an empirical investigation of theory-based recommender systems for programmers
- Computer ScienceCHI
- 2012
This paper designs and implements a variety of recommender algorithms to empirically investigate how to help people with the ill-structured problem of finding where to look for information while debugging source code, and shows that using both words and code structure significantly improved the ability of the algorithms to recommend where software developers should look forInformation Foraging Theory.
Departures from optimality: Understanding human analyst's information foraging in assisted requirements tracing
- Psychology2013 35th International Conference on Software Engineering (ICSE)
- 2013
A novel approach to understanding analyst's information seeking and gathering is offered, model analysts as predators in pursuit of prey - the relevant traceability information, and leverage the optimality models to characterize a rational decision process.
Using information scent to model the dynamic foraging behavior of programmers in maintenance tasks
- Computer ScienceCHI
- 2008
PFIS (Programmer Flow by Information Scent), a model and algorithm of programmer navigation during software maintenance, and an experimental study of expert programmers debugging real bugs described in real bug reports for a real Java application are described.
An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks
- Computer ScienceIEEE Transactions on Software Engineering
- 2006
A study was performed in which developers were given an unfamiliar program and asked to work on two debugging tasks and three enhancement tasks for 70 minutes, suggesting a new model of program understanding grounded in theories of information foraging.
CoMoGen: An Approach to Locate Relevant Task Context by Combining Search and Navigation
- Computer Science2014 IEEE International Conference on Software Maintenance and Evolution
- 2014
An approach called CoMoGen is presented that combines search and navigation by expanding, ranking and visualizing search results with navigation context, and is able to generate small task-relevant context models that locates more relevant search results than state-of-the-art and state of the practice search approaches.
Developers' code context models for change tasks
- Computer ScienceSIGSOFT FSE
- 2014
This work identifies and discusses design requirements to better support developers in the initial creation of code context models and believes this work represents a substantial step in better understanding developers' code navigation and providing better tool support that will reduce time and effort needed for change tasks.