An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
Abstract
Theories of human behavior are an important but largely untapped resource for software engineering research. They facilitate understanding of human developers’ needs and activities, and thus can serve as a valuable resource to researchers designing software engineering tools. Furthermore, theories abstract beyond specific methods and tools to fundamental principles that can be applied to new situations. Toward filling this gap, we investigate the applicability and utility of Information Foraging Theory (IFT) for understanding information-intensive software engineering tasks, drawing upon literature in three areas: debugging, refactoring, and reuse. In particular, we focus on software engineering tools that aim to support information-intensive activities, that is, activities in which developers spend time seeking information. Regarding applicability, we consider whether and how the mathematical equations within IFT can be used to explain why certain existing tools have proven empirically successful at helping software engineers. Regarding utility, we applied an IFT perspective to identify recurring design patterns in these successful tools, and consider what opportunities for future research are revealed by our IFT perspective.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
IFT has proven useful for explaining and predicting developer behaviors during software maintenance, in ways beneficial to tool design.
“IFT has already proven useful for explaining and predicting developer behaviors during software maintenance, in ways beneficial to tool design [12,16,17,25,26,27,33].”
From Foraging and navigations, fundamentally: developers' predictions of value and cost (2016) · cites this paper as [12]
Cites
(1994) · Cited by 21,711 · see citing works
Baeza-Yates, R. A., & Ribeiro-Neto, B. A. (1999) · Cited by 11,498 · see citing works
Refactoring: Improving the Design of Existing Code
Fowler, M. (2002) · Lecture notes in computer science · doi:10.1007/3-540-45672-4_31 · Cited by 5,615 · see citing works
Alexander, C. (1979) · Cited by 2,105 · see citing works
Pirolli, P. L. T., & Card, S. K. (1999) · Psychological Review · doi:10.1037/0033-295x.106.4.643 · Cited by 1,354 · see citing works
Automatic image annotation and retrieval using cross-media relevance models
Jeon, J., Lavrenko, V. P., & Manmatha, R. (2003) · doi:10.1145/860435.860459 · Cited by 1,145 · see citing works
SOA Principles of Service Design
Erl, T. (2007) · Cited by 1,031 · see citing works
A pattern approach to interaction design
Borchers, J. (2000) · Designing Interactive Systems Conference · doi:10.1145/347642.347795 · Cited by 829 · see citing works
Comparison and Evaluation of Clone Detection Tools
Bellon, S., Koschke, R., Antoniol, G., Krinke, J., & Merlo, E. (2007) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2007.70725 · Cited by 782 · see citing works
Towards a theory of the comprehension of computer programs
Brooks, R. (1983) · International Journal of Man-Machine Studies · doi:10.1016/s0020-7373(83)80031-5 · Cited by 756 · see citing works
Advances in Automatic Text Summarization
Liddy, E. D. (2001) · Information Retrieval · doi:10.1023/a:1011476409104 · Cited by 689 · see citing works
Ko, A. J., Myers, B. A., Coblenz, M. J., & Aung, H. H. (2006) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2006.116 · Cited by 685 · see citing works
A language independent approach for detecting duplicated code
Ducasse, S., Rieger, M., & Demeyer, S. (1999) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.1999.792593 · Cited by 629 · see citing works
Maintaining mental models: a study of developer work habits
LaToza, T. D., Venolia, G., & DeLine, R. (2006) · Proceedings of the 28th international conference on Software engineering · doi:10.1145/1134285.1134355 · Cited by 628 · see citing works
Information Needs in Collocated Software Development Teams
Ko, A. J., DeLine, R., & Venolia, G. (2007) · 29th International Conference on Software Engineering (ICSE'07) · doi:10.1109/icse.2007.45 · Cited by 499 · see citing works
Architectural mismatch: why reuse is so hard
Garlan, D., Allen, R., & Ockerbloom, J. M. (1995) · IEEE Software · doi:10.1109/52.469757 · Cited by 496 · see citing works
Mining Version Histories to Guide Software Changes
Zimmermann, T., Member, S., Weißgerber, P., Diehl, S., Zeller, A., & Ieee Computer Society (2004) · Cited by 490 · see citing works
Pirolli, P. L. T. (2007) · Oxford University Press eBooks · doi:10.1093/acprof:oso/9780195173321.003.0001 · Cited by 484 · see citing works
Information foraging in information access environments
Pirolli, P., & Card, S. (1995) · Proceedings of the SIGCHI conference on Human factors in computing systems - CHI '95 · doi:10.1145/223904.223911 · Cited by 464 · see citing works
Using task context to improve programmer productivity
Kersten, M., & Murphy, G. C. (2006) · Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering · doi:10.1145/1181775.1181777 · Cited by 452 · see citing works
Using information scent to model user information needs and actions and the Web
Ed, H., Pirolli, P. L. T., Chen, K., & Pitkow, J. E. (2001) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/365024.365325 · Cited by 418 · see citing works
Automatic image annotation and retrieval using cross-media relevance models
Jeon, J., Lavrenko, V. P., & Manmatha, R. (2003) · International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR) · doi:10.1145/860458.860459 · Cited by 418 · see citing works
How do programmers ask and answer questions on the web? (NIER track)
Treude, C., Barzilay, O., & Storey, M. (2011) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1985793.1985907 · Cited by 398 · see citing works
Recommendation Systems for Software Engineering
Robillard, M. P., Walker, R. J., & Zimmermann, T. (2009) · IEEE Software · doi:10.1109/ms.2009.161 · Cited by 389 · see citing works
Tidwell, J. (2005) · Cited by 387 · see citing works
Expertise Browser: a quantitative approach to identifying expertise
Mockus, A., & Herbsleb, J. D. (2003) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1109/icse.2002.1007994 · Cited by 386 · see citing works
Java quality assurance by detecting code smells
van Emden, E., & Moonen, L. (2003) · Proceedings - Working Conference on Reverse Engineering · doi:10.1109/wcre.2002.1173068 · Cited by 381 · see citing works
Wexelblat, A., & Maes, P. (1999) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/302979.303060 · Cited by 360 · see citing works
Hipikat: a project memory for software development
Čubranić, D., Murphy, G. C., Singer, J., & Booth, K. S. (2005) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2005.71 · Cited by 324 · see citing works
Asking and Answering Questions during a Programming Change Task
Sillito, J., Murphy, G. C., & Volder, K. D. (2008) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2008.26 · Cited by 320 · see citing works
Reiss, S. P. (2009) · doi:10.1109/icse.2009.5070525 · Cited by 307 · see citing works
Identifying and qualifying reusable software components
Caldiera, G., & Basili, V. R. (1991) · Computer · doi:10.1109/2.67210 · Cited by 294 · see citing works
SNIF-ACT: A Cognitive Model of User Navigation on the World Wide Web
Fu, W., & Pirolli, P. L. T. (2007) · Human-Computer Interaction · doi:10.1080/07370020701638806 · Cited by 283 · see citing works
Simon, F., Steinbrückner, F., & Lewerentz, C. (2002) · Proceedings of the ... European Conference on Software Maintenance and Reengineering/Proceedings of the European Conference on Software Maintenance and Reengineering · doi:10.1109/.2001.914965 · Cited by 276 · see citing works
How effective developers investigate source code: an exploratory study
Robillard, M. P., Coelho, W., & Murphy, G. C. (2004) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2004.101 · Cited by 263 · see citing works
Pattern Languages in HCI: A Critical Review
Dearden, A., & Finlay, J. (2006) · Human-Computer Interaction · doi:10.1207/s15327051hci2101_3 · Cited by 254 · see citing works
Olston, C., & Ed, H. (2003) · ACM Transactions on Computer-Human Interaction · doi:10.1145/937549.937550 · Cited by 249 · see citing works
Human-Computer Interaction: Psychological Aspects of the Human Use of Computing
Olson, G. M., & Olson, J. S. (2002) · Annual Review of Psychology · doi:10.1146/annurev.psych.54.101601.145044 · Cited by 249 · see citing works
Effective Java Programming Language Guide
Bloch, J. (2001) · CERN Document Server (European Organization for Nuclear Research) · Cited by 244 · see citing works
Building Theories in Software Engineering
Sjøberg, D. I. K., Dybå, T., Anda, B., & Hannay, J. E. (2007) · Springer eBooks · doi:10.1007/978-1-84800-044-5_12 · Cited by 244 · see citing works
Proceedings of 1993 15th International Conference on Software Engineering
Palomba, F., Panichella, A., Zaidman, A., Oliveto, R., & Lucia, A. D. (1993) · doi:10.1109/icse.1993 · Cited by 234 · see citing works
Evolving Object-Oriented Designs with Refactorings
Tokuda, L., & Batory, D. S. (2001) · Automated Software Engineering · doi:10.1023/a:1008715808855 · Cited by 233 · see citing works
Collaboration Tools for Global Software Engineering
Lanubile, F., Ebert, C., Prikladnicki, R., & Vizcaíno, A. (2010) · IEEE Software · doi:10.1109/ms.2010.39 · Cited by 227 · see citing works
A Systematic Review of Theory Use in Software Engineering Experiments
Hannay, J. E., Sjøberg, D. I. K., & Dybå, T. (2007) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2007.12 · Cited by 226 · see citing works
Tracking Code Clones in Evolving Software
Duala-Ekoko, E., & Robillard, M. P. (2007) · 29th International Conference on Software Engineering (ICSE'07) · doi:10.1109/icse.2007.90 · Cited by 222 · see citing works
Automatically capturing source code context of NL-queries for software maintenance and reuse
Hill, E., Pollock, L., & Vijay‐Shanker, K. (2009) · doi:10.1109/icse.2009.5070524 · Cited by 215 · see citing works
Information search and re-access strategies of experienced web users
Aula, A., Jhaveri, N., & Käki, M. (2005) · International World Wide Web Conference (WWW) · doi:10.1145/1060745.1060831 · Cited by 208 · see citing works
Mockus, A., & Herbsleb, J. D. (2002) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/581339.581401 · Cited by 201 · see citing works
SNIF-ACT: A Model of Information Foraging on the World Wide Web
Pirolli, P. L. T., & Fu, W. (2003) · Lecture notes in computer science · doi:10.1007/3-540-44963-9_8 · Cited by 200 · see citing works
How we refactor, and how we know it
Murphy-Hill, E. R., Parnin, C., & Black, A. P. (2009) · doi:10.1109/icse.2009.5070529 · Cited by 197 · see citing works
Summarizing software artifacts
Rastkar, S., Murphy, G. C., & Murray, G. (2010) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1806799.1806872 · Cited by 190 · see citing works
Managing Duplicated Code with Linked Editing
Toomim, M., Begel, A., & Graham, S. L. (2005) · doi:10.1109/vlhcc.2004.35 · Cited by 179 · see citing works
Proceedings. 11th Working Conference on Reverse Engineering
(2004) · Working Conference on Reverse Engineering (WCRE) · doi:10.1109/wcre.2004.2 · Cited by 177 · see citing works
Bragdon, A. C., Reiss, S. P., Zeleznik, R. C., Karumuri, S., Cheung, W., Kaplan, J., Coleman, C., Adeputra, F., & LaViola, J. J. (2010) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1806799.1806866 · Cited by 173 · see citing works
Using information fragments to answer the questions developers ask
Fritz, T., & Murphy, G. C. (2010) · Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 · doi:10.1145/1806799.1806828 · Cited by 163 · see citing works
Approximate Structural Context Matching: An Approach to Recommend Relevant Examples
Holmes, R., Walker, R. J., & Murphy, G. C. (2006) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2006.117 · Cited by 160 · see citing works
Refactoring Tools: Fitness for Purpose
Murphy-Hill, E. R., & Black, A. P. (2008) · IEEE Software · doi:10.1109/ms.2008.123 · Cited by 155 · see citing works
Developers ask reachability questions
LaToza, T. D., & Myers, B. A. (2010) · Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 · doi:10.1145/1806799.1806829 · Cited by 145 · see citing works
How Programmers Debug, Revisited: An Information Foraging Theory Perspective
Lawrance, J., Bogart, C., Burnett, M., Bellamy, R., Rector, K., & Fleming, S. D. (2013) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2010.111 · Cited by 142 · see citing works
Self-citationExemplar: A Source Code Search Engine for Finding Highly Relevant Applications
McMillan, C., Grechanik, M., Poshyvanyk, D., Fu, C., & Xie, Q. (2011) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2011.84 · Cited by 133 · see citing works
Ed, H., Rosien, A., Supattanasiri, G., Williams, A., Royer, C., Chow, C., Robles, E., Dalal, B., Chen, J. Y., & Cousins, S. (2003) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/642611.642699 · Cited by 128 · see citing works
Minto, S., & Murphy, G. C. (2007) · doi:10.1109/msr.2007.27 · Cited by 127 · see citing works
Easing Program Comprehension by Sharing Navigation Data
DeLine, R. A., Czerwinski, M. P., & Robertson, G. G. (2005) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2005.32 · Cited by 125 · see citing works
Dagenais, B., & Robillard, M. P. (2010) · Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering · doi:10.1145/1882291.1882312 · Cited by 124 · see citing works
Treude, C., & Storey, M. (2010) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1806799.1806854 · Cited by 117 · see citing works
Program comprehension as fact finding
LaToza, T. D., Garlan, D., Herbsleb, J. D., & Myers, B. A. (2007) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1287624.1287675 · Cited by 106 · see citing works
Refactoring Practice: How it is and How it Should be Supported - An Eclipse Case Study
Xing, Z., & Stroulia, E. (2006) · Proceedings/Proceedings - Conference on Software Maintenance · doi:10.1109/icsm.2006.52 · Cited by 106 · see citing works
Ashok, B., Joy, J. M., Liang, H., Rajamani, S. K., Srinivasa, G., & Vangala, V. (2009) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1595696.1595766 · Cited by 104 · see citing works
Using iterative refinement to find reusable software
Henninger, S. (1994) · IEEE Software · doi:10.1109/52.311059 · Cited by 99 · see citing works
Brandt, J., Guo, P. J., Lewenstein, J., & Klemmer, S. (2008) · International Workshop on End-User Software Engineering (WEUSE) · doi:10.1145/1370847.1370848 · Cited by 88 · see citing works
Rahman, F., Bird, C., & Dévanbu, P. (2010) · International Conference on Mining Software Repositories (MSR) · doi:10.1109/msr.2010.5463343 · Cited by 87 · see citing works
A programming system for children that is designed for usability
Pane, J. F., Myers, B. A., & Garlan, D. (2002) · Cited by 84 · see citing works
Coblenz, M. J., Ko, A. J., & Myers, B. A. (2006) · Eclipse Technology eXchange · doi:10.1145/1188835.1188849 · Cited by 80 · see citing works
Building Usage Contexts During Program Comprehension
Parnin, C., & Görg, C. (2006) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2006.14 · Cited by 77 · see citing works
Using information scent to model the dynamic foraging behavior of programmers in maintenance tasks
Lawrance, J., Bellamy, R., Burnett, M., & Rector, K. (2008) · Proceedings of the SIGCHI Conference on Human Factors in Computing Systems · doi:10.1145/1357054.1357261 · Cited by 76 · see citing works
Self-citationRelation of Code Clones and Change Couplings
Geiger, R., Fluri, B., Gall, H. C., & Pinzger, M. (2006) · Lecture notes in computer science · doi:10.1007/11693017_31 · Cited by 63 · see citing works
Answering conceptual queries with Ferret
de Alwis, B., & Murphy, G. C. (2008) · Proceedings of the 30th international conference on Software engineering · doi:10.1145/1368088.1368092 · Cited by 63 · see citing works
Proceedings. 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
(2005) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2005.2 · Cited by 63 · see citing works
Integrating active information delivery and reuse repository systems
Ye, Y., Fischer, G., & Reeves, B. N. (2000) · doi:10.1145/355045.355053 · Cited by 58 · see citing works
Advances in automatic text summarization
(2000) · Computers & Mathematics with Applications · doi:10.1016/s0898-1221(00)90269-4 · Cited by 58 · see citing works
Supporting developers with natural language queries
Würsch, M., Ghezzi, G., Reif, G., & Gall, H. C. (2010) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1806799.1806827 · Cited by 53 · see citing works
Work Item Tagging: Communicating Concerns in Collaborative Software Development
Treude, C., & Storey, M. (2010) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2010.91 · Cited by 52 · see citing works
Reactive information foraging for evolving goals
Lawrance, J., Burnett, M., Bellamy, R., Bogart, C., & Swart, C. (2010) · Proceedings of the SIGCHI Conference on Human Factors in Computing Systems · doi:10.1145/1753326.1753332 · Cited by 50 · see citing works
Self-citationHundhausen, C. (2005) · Journal of Visual Languages & Computing · doi:10.1016/j.jvlc.2004.11.002 · Cited by 45 · see citing works
Semi-automating small-scale source code reuse via structural correspondence
Cottrell, R., Walker, R. J., & Denzinger, J. (2008) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1453101.1453130 · Cited by 42 · see citing works
Supporting the Investigation and Planning of Pragmatic Reuse Tasks
Holmes, R., & Walker, R. J. (2007) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1109/icse.2007.83 · Cited by 40 · see citing works
Effective communication of software development knowledge through community portals
Treude, C., & Storey, M. (2011) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/2025113.2025129 · Cited by 40 · see citing works
Modeling programmer navigation: A head-to-head empirical evaluation of predictive models
Piorkowski, D., Fleming, S. D., Scaffidi, C., John, L. K., Bogart, C., John, B. E., Burnett, M., & Bellamy, R. (2011) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2011.6070387 · Cited by 39 · see citing works
Self-citationA socio-technical framework for supporting programmers
Ye, Y., Yamamoto, Y., & Nakakoji, K. (2007) · doi:10.1145/1287624.1287674 · Cited by 38 · see citing works
Information Foraging Theory: Adaptive Interaction with Information
Sandstrom, P. E. (2010) · Journal of the American Society for Information Science and Technology · doi:10.1002/asi.21364 · Cited by 37 · see citing works
Function recovery based on program slicing
Lanubile, F., & Visaggio, G. (2002) · Proceedings/Proceedings - Conference on Software Maintenance · doi:10.1109/icsm.1993.366923 · Cited by 36 · see citing works
Information foraging theory adaptive interaction with information
Pirolli, P. (2007) · Cited by 35 · see citing works
Proceedings International Conference on Software Maintenance
(1994) · International Conference on Software Maintenance · doi:10.1109/icsm.1994.336795 · Cited by 34 · see citing works
Automating the detection of reusable parts in existing software
Dunn, M. F., & Knight, J. C. (1993) · doi:10.5555/257572.257660 · Cited by 31 · see citing works
Information foraging models of browsers for very large document spaces
Pirolli, P. L. T., & Card, S. K. (1998) · Working Conference on Advanced Visual Interfaces (AVI) · doi:10.1145/948496.948509 · Cited by 30 · see citing works
How Programmers can Turn Comments into Waypoints for Code Navigation
Storey, M.-A., Cheng, L.-T., Singer, J., Muller, M. J., Myers, D., & Ryall, J. (2007) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2007.4362639 · Cited by 30 · see citing works
Proceedings. 7th International Workshop on Principles of Software Evolution
(2004) · International Workshop on Principles of Software Evolution · doi:10.1109/iwpse.2004.1334754 · Cited by 29 · see citing works
Beyond the refactoring browser: advanced tool support for software refactoring
Mens, T., Tourwé, T., & Munoz, F. (2004) · International Workshop on Principles of Software Evolution · doi:10.1109/iwpse.2003.1231207 · Cited by 23 · see citing works
Budiu, R., Pirolli, P. L. T., & Hong, L. (2009) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/1518701.1518796 · Cited by 21 · see citing works
Enriching web information scent for blind users
Vigo, M., Leporini, B., & Paternò, F. (2009) · International ACM SIGACCESS Conference on Computers and Accessibility (ASSETS) · doi:10.1145/1639642.1639665 · Cited by 19 · see citing works
Enabling program comprehension through a visual object-focused development environment
Olivero, F., Lanza, M., D’Ambros, M., & Robbes, R. (2011) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2011.6070389 · Cited by 16 · see citing works
Asking and answering questions about the causes of software behavior
Myers, B. A., & Ko, A. J. (2008) · Cited by 15 · see citing works
Can information foraging pick the fix? A field study
Lawrance, J., Bellamy, R., Bumett, M., & Rector, K. (2008) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2008.4639059 · Cited by 13 · see citing works
Self-citationInformation needs of developers for program comprehension during software maintenance tasks
Amant, R. S., Williams, L. A., & Layman, L. M. (2009) · Cited by 3 · see citing works
Flagged first, then by citations
2 of the 106 references couldn’t be matched to a known paper.
Cited by
Sorted by citations
Trials and tribulations of developers of intelligent systems: A field study
Hill, C., Bellamy, R., Erickson, T. D., & Burnett, M. (2016) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2016.7739680 · Cited by 108 · see citing works
Self-citationTowards Effective Foraging by Data Scientists to Find Past Analysis Choices
Kery, M. B., John, B. E., O'Flaherty, P., Horvath, A., & Myers, B. A. (2019) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/3290605.3300322 · Cited by 96 · see citing works
What help do developers seek, when and how?
Li, H., Xing, Z., Peng, X., & Zhao, W. (2013) · 2013 20th Working Conference on Reverse Engineering (WCRE) · doi:10.1109/wcre.2013.6671289 · Cited by 81 · see citing works
Addressing misconceptions about code with always-on programming visualizations
Lieber, T., Brandt, J., & Miller, R. C. (2014) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/2556288.2557409 · Cited by 72 · see citing works
Future of end-user software engineering: beyond the silos
Burnett, M., & Myers, B. A. (2014) · Future of Software Engineering (FOSE) · doi:10.1145/2593882.2593896 · Cited by 70 · see citing works
Self-citationForaging Among an Overabundance of Similar Variants
Ragavan, S. S., Kuttal, S. K., Hill, C., Sarma, A., Piorkowski, D., & Burnett, M. (2016) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/2858036.2858469 · Cited by 49 · see citing works
Self-citationTo fix or to learn? How production bias affects developers' information foraging during debugging
Piorkowski, D., Fleming, S. D., Scaffidi, C. P., Burnett, M., Kwan, I., Henley, A. Z., Macbeth, J., Hill, C., & Horvath, A. (2015) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2015.7332447 · Cited by 37 · see citing works
Self-citationForaging and navigations, fundamentally: developers' predictions of value and cost
Piorkowski, D., Henley, A. Z., Nabi, T., Fleming, S. D., Scaffidi, C., & Burnett, M. (2016) · Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering · doi:10.1145/2950290.2950302 · Cited by 38 · see citing works
Self-citationOptimal Group Size for Software Change Tasks: A Social Information Foraging Perspective
Bhowmik, T., Niu, N., Wang, W., Cheng, J.-R. C., Li, L., & Cao, X. (2015) · IEEE Transactions on Cybernetics · doi:10.1109/tcyb.2015.2420316 · Cited by 36 · see citing works
Pu, K., Lazaro, D., Arawjo, I., Xia, H., Xiao, Z., Grossman, T., & Chen, Y. (2025) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/3706598.3713357 · Cited by 32 · see citing works
Dodge, J. E., Penney, S., Hilderbrand, C., Anderson, A. W., & Burnett, M. (2018) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/3173574.3174136 · Cited by 31 · see citing works
Self-citationToward Foraging for Understanding of StarCraft Agents
Penney, S., Dodge, J. E., Hilderbrand, C., Anderson, A. W., Simpson, L., & Burnett, M. (2018) · ACM International Conference on Intelligent User Interfaces (IUI) · doi:10.1145/3172944.3172946 · Cited by 30 · see citing works
Self-citationA diagnosis-based approach to software comprehension
Perez, A., & Abreu, R. (2014) · International Conference on Program Comprehension · doi:10.1145/2597008.2597151 · Cited by 26 · see citing works
CodeExchange: Supporting Reformulation of Internet-Scale Code Queries in Context (T)
Martie, L., LaToza, T. D., & van der Hoek, A. (2015) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2015.51 · Cited by 26 · see citing works
”It’s Just Everything Outside of the IDE that’s the Problem”:
Storer, K. M., Sampath, H. A., & Merrick, M. A. A. (2021) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/3411764.3445090 · Cited by 25 · see citing works
Head, A., Sadowski, C., Murphy-Hill, E. R., & Knight, A. (2018) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3180155.3180176 · Cited by 22 · see citing works
Supporting Code Comprehension via Annotations: Right Information at the Right Time and Place
Adeli, M., NELSON, N. M., Chattopadhyay, S., Coffey, H., Henley, A. Z., & Sarma, A. (2020) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vl/hcc50065.2020.9127264 · Cited by 20 · see citing works
Swarm debugging: The collective intelligence on interactive debugging
Petrillo, F. D. S., Guéhéneuc, Y., Pimenta, M. S., Freitas, C. M. D. S., & Khomh, F. (2019) · Journal of Systems and Software · doi:10.1016/j.jss.2019.04.028 · Cited by 18 · see citing works
Exploring Programmers' API Learning Processes: Collecting Web Resources as External Memory
Gao, G., Voichick, F., Ichinco, M., & Kelleher, C. L. (2020) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vl/hcc50065.2020.9127274 · Cited by 16 · see citing works
Ragavan, S. S., Pandya, B., Piorkowski, D., Hill, C., Kuttal, S. K., Sarma, A., & Burnett, M. (2017) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/3025453.3025818 · Cited by 16 · see citing works
Self-citationTowards Understanding Interactive Debugging
Petrillo, F. D. S., Soh, Z., Khomh, F., Pimenta, M. S., Freitas, C. M. D. S., & Guéhéneuc, Y. (2016) · IEEE International Conference on Software Quality, Reliability and Security (QRS) · doi:10.1109/qrs.2016.27 · Cited by 15 · see citing works
How end-user programmers debug visual web-based programs: An information foraging theory perspective
Kuttal, S. K., Sarma, A., Burnett, M., Rothermel, G., Koeppe, I., & Shepherd, B. (2019) · Journal of Computer Languages · doi:10.1016/j.cola.2019.04.003 · Cited by 14 · see citing works
Self-citationMZoltar: automatic debugging of Android applications
Machado, P., Campos, J., & Abreu, R. (2013) · International Workshop on Mobile Development Lifecycle · doi:10.1145/2501553.2501556 · Cited by 14 · see citing works
Towards a Model of API Learning
Kelleher, C. L., & Ichinco, M. (2019) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2019.8818850 · Cited by 15 · see citing works
How end-user programmers forage in online repositories? An information foraging perspective
Kuttal, S. K., Kim, S. Y., Martos, C., & Bejarano, A. (2020) · Journal of Computer Languages · doi:10.1016/j.cola.2020.101010 · Cited by 13 · see citing works
Software Engineers' Information Seeking Behavior in Change Impact Analysis - An Interview Study
Borg, M., Alégroth, E., & Runeson, P. (2017) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2017.20 · Cited by 13 · see citing works
Subbaraman, B., Shim, S., & Peek, N. (2023) · Designing Interactive Systems Conference · doi:10.1145/3563657.3595969 · Cited by 12 · see citing works
Framing program comprehension as fault localization
Perez, A., & Abreu, R. (2016) · Journal of Software Evolution and Process · doi:10.1002/smr.1799 · Cited by 10 · see citing works
Investigating the Crowd’s Creativity for Creating On-Demand IoT Scenarios
Abbas, T., Khan, V.-J., & Markopoulos, P. (2020) · International Journal of Human-Computer Interaction · doi:10.1080/10447318.2019.1709331 · Cited by 9 · see citing works
Towards aiding within-patch information foraging by end-user programmers
Athreya, B., & Scaffidi, C. (2014) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2014.6883015 · Cited by 9 · see citing works
Self-citationPutting information foraging theory to work: Community-based design patterns for programming tools
Nabi, T., Sweeney, K. M. D., Lichlyter, S., Piorkowski, D., Scaffidi, C., Burnett, M., & Fleming, S. D. (2016) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2016.7739675 · Cited by 9 · see citing works
Self-citationPenney, S., Dodge, J. E., Anderson, A. W., Hilderbrand, C., Simpson, L., & Burnett, M. (2020) · ACM Transactions on Interactive Intelligent Systems · doi:10.1145/3396047 · Cited by 8 · see citing works
Self-citationBrindescu, C. (2018) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3236024.3275430 · Cited by 8 · see citing works
Information Seeking Behavior for Bugs on GitHub: An Information Foraging Perspective
Sedhain, A., & Kuttal, S. K. (2022) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vl/hcc53370.2022.9833144 · Cited by 8 · see citing works
IDEvelopAR: A Programming Interface to enhance Code Understanding in Augmented Reality
Kreber, L., Diehl, S., & Weil, P. (2022) · IEEE Working Conference on Software Visualization (VISSOFT) · doi:10.1109/vissoft55257.2022.00017 · Cited by 8 · see citing works
Sameness: an experiment in code search
Martie, L., & van der Hoek, A. (2015) · Mining Software Repositories · doi:10.5555/2820518.2820530 · Cited by 8 · see citing works
Visualizing interactive and shared debugging sessions
Petrillo, F. D. S., Lacerda, G., Pimenta, M. S., & Freitas, C. M. D. S. (2015) · IEEE Working Conference on Software Visualization (VISSOFT) · doi:10.1109/vissoft.2015.7332425 · Cited by 8 · see citing works
What Should Be in an XAI Explanation? What IFT Reveals.
Dodge, J. E., Penney, S., Anderson, A. W., & Burnett, M. (2018) · IUI Workshops · Cited by 9 · see citing works
Self-citationAgrahari, V., & Chimalakonda, S. (2020) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3377812.3390792 · Cited by 7 · see citing works
Developers’ information seeking in Question & Answer websites through a gender lens
Sedhain, A., Diwanji, V., Solomon, H., Leon, S., & Kuttal, S. K. (2024) · Journal of Computer Languages · doi:10.1016/j.cola.2024.101267 · Cited by 7 · see citing works
Version Control Systems: An Information Foraging Perspective
Ragavan, S. S., Codoban, M., Piorkowski, D., Dig, D., & Burnett, M. (2019) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2019.2931296 · Cited by 7 · see citing works
Self-citationDigital Nudges for Encouraging Developer Behaviors.
Brown, D. C. (2021) · NCSU Libraries Repository (North Carolina State University Libraries) · Cited by 7 · see citing works
Chattopadhyay, S., NELSON, N. M., Nam, T., Calvert, M., & Sarma, A. (2018) · International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE) · doi:10.1145/3195836.3195861 · Cited by 6 · see citing works
Sameness: An Experiment in Code Search
Martie, L., & van der Hoek, A. (2015) · International Conference on Mining Software Repositories (MSR) · doi:10.1109/msr.2015.15 · Cited by 6 · see citing works
Reuse of variants in online repositories: Foraging for the fittest
Martos, C., Kim, S. Y., & Kuttal, S. K. (2016) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2016.7739674 · Cited by 6 · see citing works
Toward Theory-Based End-User Software Engineering
Burnett, M., Kulesza, T., Oleson, A., Ernst, S., Beckwith, L., Cao, J., Jernigan, W., & Grigoreanu, V. (2017) · Springer eBooks · doi:10.1007/978-3-319-60291-2_10 · Cited by 6 · see citing works
Self-citationToward Foraging for Understanding of StarCraft Agents: An Empirical StudyPreprint
Penney, S., Dodge, J. E., Hilderbrand, C., Anderson, A. W., Simpson, L., & Burnett, M. (2017) · arXiv (Cornell University) · doi:10.48550/arxiv.1711.08019 · Cited by 6 · see citing works
Self-citationAshtari, N., & Chilana, P. K. (2024) · Multimodal Technologies and Interaction · doi:10.3390/mti8040035 · Cited by 5 · see citing works
Foraging goes mobile: Foraging while debugging on mobile devices
Piorkowski, D., Penney, S., Henley, A. Z., Pistoia, M., Burnett, M., Tripp, O., & Ferrara, P. (2017) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2017.8103444 · Cited by 5 · see citing works
Self-citationUnderstanding interactive debugging with Swarm Debug Infrastructure
Petrillo, F. D. S., Soh, Z., Khomh, F., Pimenta, M. S., Freitas, C. M. D. S., & Guéhéneuc, Y. (2016) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2016.7503740 · Cited by 5 · see citing works
Ryan, B., Soria, A. M., Dreef, K., & van der Hoek, A. (2022) · IEEE/ACM International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET) · doi:10.1145/3510456.3514164 · Cited by 4 · see citing works
A Survey of Tool Support for Working with Design Decisions in Code
Mehrpour, S., & LaToza, T. D. (2023) · ACM Computing Surveys · doi:10.1145/3607868 · Cited by 4 · see citing works
Exploring Microtask Crowdsourcing as a Means of Fault LocalizationPreprint
Adriano, C., & van der Hoek, A. (2016) · arXiv (Cornell University) · doi:10.48550/arxiv.1612.03015 · Cited by 4 · see citing works
How the Experts Do It: Assessing and Explaining Agent Behaviors in Real-Time Strategy GamesPreprint
Dodge, J. E., Penney, S., Hilderbrand, C., Anderson, A. W., & Burnett, M. (2017) · arXiv (Cornell University) · doi:10.48550/arxiv.1711.06953 · Cited by 4 · see citing works
Self-citationNeedles in a Haystack: Student Struggles with Working on Large Code Bases
Shah, A., Rexin, T., Chernova, A., Allen-Perez, G., Griswold, W. G., & Raj, A. G. S. (2025) · ACM Conference on International Computing Education Research (ICER) · doi:10.1145/3702652.3744218 · Cited by 3 · see citing works
Exploring Modal Locking in Window Manipulation
Taeumel, M., & Hirschfeld, R. (2021) · International Conference on Art, Science, and Engineering of Programming (<Programming>) · doi:10.1145/3464432.3464433 · Cited by 3 · see citing works
Evolution of sustained foraging in three-dimensional environments with physics
Chaumont, N., & Adami, C. (2016) · Genetic Programming and Evolvable Machines · doi:10.1007/s10710-016-9270-z · Cited by 3 · see citing works
Answering Developer Questions with Annotated Agent-Discovered Program Traces
Yan, L., Tao, J., Chilton, L. B., & Head, A. (2025) · ACM Symposium on User Interface Software and Technology (UIST) · doi:10.1145/3746059.3747652 · Cited by 2 · see citing works
The Linguistics of Programming
Gordon, C. S. (2024) · ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!) · doi:10.1145/3689492.3689806 · Cited by 2 · see citing works
Find Unique Usages: Helping Developers Understand Common Usages
Aghayi, E., Massey, A., & LaToza, T. D. (2020) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vl/hcc50065.2020.9127285 · Cited by 2 · see citing works
A study of refactorings during software change tasks
Eilertsen, A. M., & Murphy, G. C. (2021) · Journal of Software Evolution and Process · doi:10.1002/smr.2378 · Cited by 2 · see citing works
Analysis Refactoring with Tools
Othman, Z. S. (2018) · Advances in Science Technology and Engineering Systems Journal · doi:10.25046/aj030617 · Cited by 1 · see citing works
Modeling Foraging Behavior in GitHub
Sedhain, A., Wang, Y., McKinney, B. A., & Kuttal, S. K. (2023) · Communications in computer and information science · doi:10.1007/978-3-031-35998-9_21 · Cited by 1 · see citing works
An Information Foraging Interpretation of Liveness
Rein, P., Ramson, S., Beckmann, T., & Hirschfeld, R. (2025) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vl-hcc65237.2025.00022 · Cited by 1 · see citing works
Block-based or graph-based? Why not both? Designing a hybrid programming environment for end-users
Ritschel, N., Holmes, R., Fronchetti, F., Garcia, R., & Shepherd, D. C. (2025) · Interacting with Computers · doi:10.1093/iwc/iwaf028 · Cited by 1 · see citing works
Reading to Write Code: An Experience Report of a Reverse Engineering and Modeling Course
Ryan, B., Soria, A. M., Dreef, K., & van der Hoek, A. (2022) · IEEE/ACM International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET) · doi:10.1109/icse-seet55299.2022.9794257 · Cited by 1 · see citing works
Advances in Information Foraging Research
Wu, B., & Zhang, C. Y. (2014) · Applied Mechanics and Materials · doi:10.4028/www.scientific.net/amm.701-702.1376
Automatic Debugging of Android Applications
Machado, P. M. F. (2013) · Portuguese National Funding Agency for Science, Research and Technology (RCAAP Project by FCT) · doi:10.34626/vrzp-zs28
How Do Coupled File Changes Influence How Developers Seek Help During Maintenance Tasks?
Ramadani, J., & Wagner, S. (2017) · IEEE International Conference on Software Quality, Reliability and Security (QRS) · doi:10.1109/qrs.2017.50
On The Human Factors Impact of Polyglot Programming on Programmer Productivity
Uesbeck, P. M. (2020) · Digital Scholarship - UNLV (University of Nevada Reno) · doi:10.34917/18608807
Foraging-Theoretic Tool Composition: An Empirical Study on Vulnerability Discovery
Assarandarban, M., Bhowmik, T., Do, A. Q., Chekuri, S. R., Wang, W., & Niu, N. (2021) · IEEE International Conference on Information Reuse and Integration (IRI) · doi:10.1109/iri51335.2021.00025
Co-Designing Web Interfaces for Code Comparison
Middleton, J., Patil, N., & Stolee, K. T. (2024) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vl/hcc60511.2024.00029
The Influence of Search Engine Ranking Quality on the Performance of Programmers
Rocha, A. M., Dantas, C., & Maia, M. D. A. (2025) · Journal of Software Engineering Research and Development · doi:10.5753/jserd.2025.4494
Theory Use in Software Engineering: A Systematic Mapping StudyPreprint
de Queiroz, J. P. D. B., Ledo, C., Spinola, R. O., Mendes, E., & Maciel, R. S. P. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.6182208
From Artifacts to Strategies: A Gendered Lens on Web Information Foraging
Kuttal, S. K., Sthapit, S., Leon, S., Phillips, R., & Rahal, P. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-29583-5_4
A Needle in a Haystack: Developers’ Information Foraging on the Wild Web
Kuttal, S. K., Sthapit, S., Phillips, R., & Rahal, P. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-29175-2_17
Leon, S., Desai, A. R., Kanth, S., Mahmoud, N., & Kuttal, S. K. (2026) · Lecture notes in computer science · doi:10.1007/978-3-032-30781-1_17
Li, W., Gao, M. Y., An, J., Chen, B., Tang, J., Wang, X., & Gong, Y. Y. (2026) · Decision Support Systems · doi:10.1016/j.dss.2026.114740
- Authors
- Fleming, S. D., Scaffidi, C., Piorkowski, D., Burnett, M., Bellamy, R., Lawrance, J., & Kwan, I.
- Affiliations
- Oregon State University (US)
- IBM (United States) (US)
- Massachusetts Institute of Technology (US)
- Venue
- ACM Transactions on Software Engineering and Methodology
- Published
- 2013-03
- Volume
- 22
- Issue
- 2
- Pages
- 1-41
- ISSN
- 1049-331X (ISSN-L)
- 1557-7392
- OpenAlex
- W2044049174
- Cited by
- 79
- References
- 106
- Citations by year
- 2026: 5 · 2025: 6 · 2024: 4 · 2023: 3 · 2022: 4 · 2021: 5 · 2020: 8 · 2019: 5 · 2018: 8 · 2017: 7 · 2016: 10 · 2015: 6 · 2014: 5 · 2013: 3
- FWCI
- 23.32
- Type
- journal article
- Language
- en
- Open access
- closed
- Locations
- ACM Transactions on Software Engineering and Methodology (publishedVersion)
- Funders
- International Business Machines Corporation
- Air Force Office of Scientific Research (FA9550-09-l-0213)
- National Science Foundation (ITR-0325273)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Physical Sciences › Computer Science › Human-Computer Interaction › Usability and User Interface Design
- Keywords
- information foraging theory, software engineering tools, debugging, refactoring, software reuse, human behavior theory
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review