Foraging Among an Overabundance of Similar Variants
End-User Programming
/
Ragavan, Sruti Srinivasa
/
Kuttal, Sandeep Kaur
/
Hill, Charles
/
Sarma, Anita
/
Piorkowski, David
/
Burnett, Margaret
Proceedings of the ACM CHI'16 Conference on Human Factors in Computing
Systems
2016-05-07
v.1
p.3509-3521
© Copyright 2016 ACM
Summary: Foraging among too many variants of the same artifact can be problematic
when many of these variants are similar. This situation, which is largely
overlooked in the literature, is commonplace in several types of creative
tasks, one of which is exploratory programming. In this paper, we investigate
how novice programmers forage through similar variants. Based on our results,
we propose a refinement to Information Foraging Theory (IFT) to include
constructs about variation foraging behavior, and propose refinements to
computational models of IFT to better account for foraging among variants.
The whats and hows of programmers' foraging diets
Papers: design for developers
/
Piorkowski, David J.
/
Fleming, Scott D.
/
Kwan, Irwin
/
Burnett, Margaret M.
/
Scaffidi, Christopher
/
Bellamy, Rachel K. E.
/
Jordahl, Joshua
Proceedings of ACM CHI 2013 Conference on Human Factors in Computing Systems
2013-04-27
v.1
p.3063-3072
© Copyright 2013 ACM
Summary: One of the least studied areas of Information Foraging Theory is diet: the
information foragers choose to seek. For example, do foragers choose solely
based on cost, or do they stubbornly pursue certain diets regardless of cost?
Do their debugging strategies vary with their diets? To investigate "what" and
"how" questions like these for the domain of software debugging, we
qualitatively analyzed 9 professional developers' foraging goals, goal
patterns, and strategies. Participants spent 50% of their time foraging. Of
their foraging, 58% fell into distinct dietary patterns -- mostly in patterns
not previously discussed in the literature. In general, programmers' foraging
strategies leaned more heavily toward enrichment than we expected, but
different strategies aligned with different goal types. These and our other
findings help fill the gap as to what programmers' dietary goals are and how
their strategies relate to those goals.
Reactive information foraging: an empirical investigation of theory-based
recommender systems for programmers
Needle in the haystack
/
Piorkowski, David
/
Fleming, Scott
/
Scaffidi, Christopher
/
Bogart, Christopher
/
Burnett, Margaret
/
John, Bonnie
/
Bellamy, Rachel
/
Swart, Calvin
Proceedings of ACM CHI 2012 Conference on Human Factors in Computing Systems
2012-05-05
v.1
p.1471-1480
© Copyright 2012 ACM
Summary: Information Foraging Theory (IFT) has established itself as an important
theory to explain how people seek information, but most work has focused more
on the theory itself than on how best to apply it. In this paper, we
investigate how to apply a reactive variant of IFT (Reactive IFT) to design
IFT-based tools, with a special focus on such tools for ill-structured
problems. Toward this end, we designed and implemented 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. We varied the algorithms based on scent type supported (words
alone vs. words + code structure), and based on use of foraging momentum to
estimate rapidity of foragers' goal changes. Our empirical results showed that
(1) using both words and code structure significantly improved the ability of
the algorithms to recommend where software developers should look for
information; (2) participants used recommendations to discover new places in
the code and also as shortcuts to navigate to known places; and (3)
low-momentum recommendations were significantly more useful than high-momentum
recommendations, suggesting rapid and numerous goal changes in this type of
setting. Overall, our contributions include two new recommendation algorithms,
empirical evidence about when and why participants found IFT-based
recommendations useful, and implications for the design of tools based on
Reactive IFT.