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… 
Version Control Systems: An Information Foraging Perspective
TLDR
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.
Facilitating end-user developers by estimating time cost of foraging a webpage
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
  • Darius Cepulis, Nan Niu
  • Computer Science
    2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
  • 2018
TLDR
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
  • Austin Z. Henley
  • Computer Science
    2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
  • 2016
TLDR
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
TLDR
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.
...
1
2
...

References

SHOWING 1-10 OF 48 REFERENCES
The whats and hows of programmers' foraging diets
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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.
...
1
2
3
4
5
...