Using information scent to model the dynamic foraging behavior of programmers in maintenance tasks
Abstract
In recent years, the software engineering community has begun to study program navigation and tools to support it. Some of these navigation tools are very useful, but they lack a theoretical basis that could reduce the need for ad hoc tool building approaches by explaining what is fundamentally necessary in such tools. In this paper, we present PFIS (Programmer Flow by Information Scent), a model and algorithm of programmer navigation during software maintenance. We also describe an experimental study of expert programmers debugging real bugs described in real bug reports for a real Java application. We found that PFIS' performance was close to aggregated human decisions as to where to navigate, and was significantly better than individual programmers' decisions.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Cites
Lecture Notes in Computer Science 1205
(1999) · Industrial Robot the international journal of robotics research and application · doi:10.1108/ir.1999.04926fae.001 · Cited by 39,228 · see citing works
Baeza-Yates, R. A., & Ribeiro-Neto, B. A. (1999) · Cited by 11,498 · 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
Mining version histories to guide software changes
Zimmermann, T., Zeller, A., Weißgerber, P., & Diehl, S. (2005) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2005.72 · Cited by 869 · 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
Predicting source code changes by mining change history
Ying, A. T. T., Murphy, G. C., Ng, R. T., & Chu-Carroll, M. C. (2004) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2004.52 · Cited by 571 · see citing works
Hill, W. C., Hollan, J. D., Wroblewski, D., & McCandless, T. (1992) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/142750.142751 · Cited by 518 · 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
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
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
Kersten, M. A., & Murphy, G. C. (2005) · International Conference on Aspect-Oriented Software Development (AOSD) · doi:10.1145/1052898.1052912 · Cited by 299 · 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
Olston, C., & Ed, H. (2003) · ACM Transactions on Computer-Human Interaction · doi:10.1145/937549.937550 · Cited by 249 · 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
A framework and methodology for studying the causes of software errors in programming systems
Ko, A. J., & Myers, B. A. (2004) · Journal of Visual Languages & Computing · doi:10.1016/j.jvlc.2004.08.003 · Cited by 195 · see citing works
Towards a theory of the cognitive processes in computer programming
Brooks, R. (1999) · International Journal of Human-Computer Studies · doi:10.1006/ijhc.1977.0306 · Cited by 192 · see citing works
Eliciting design requirements for maintenance-oriented IDEs
Ko, A. J., Aung, H. H., & Myers, B. A. (2005) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1062455.1062492 · Cited by 182 · see citing works
Computational models of information scent-following in a very large browsable text collection
Pirolli, P. L. T. (1997) · doi:10.1145/258549.258558 · Cited by 166 · see citing works
A Linguistic Analysis of How People Describe Software Problems
Ko, A. J., Myers, B. A., & Chau, D. H. (2006) · doi:10.1109/vlhcc.2006.3 · Cited by 155 · 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
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
NavTracks: supporting navigation in software maintenance
Singer, J., Elves, R., & Storey, M.-A. (2005) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2005.66 · Cited by 119 · see citing works
Towards understanding programs through wear-based filtering
DeLine, R., Khella, A., Czerwinski, M., & Robertson, G. (2005) · Proceedings of the 2005 ACM symposium on Software visualization · doi:10.1145/1056018.1056044 · Cited by 91 · see citing works
Mining the maintenance history of a legacy software system
Shirabad, J. S., Lethbridge, T. C., & Matwin, S. (2004) · International Conference on Software Maintenance · doi:10.1109/icsm.2003.1235410 · Cited by 89 · see citing works
Program understanding behavior during corrective maintenance of large-scale software
Vans, A. M., von Mayrhauser, A., & Somlo, G. L. (1999) · International Journal of Human-Computer Studies · doi:10.1006/ijhc.1999.0268 · Cited by 66 · see citing works
Scents in Programs:Does Information Foraging Theory Apply to Program Maintenance?
Lawrance, J., Bellamy, R., & Burnett, M. (2007) · Proceedings/Proceedings -- IEEE Symposium on Visual Languages and Human-Centric Computing · doi:10.1109/vlhcc.2007.25 · Cited by 51 · see citing works
Self-citationMining a software developer's local interaction history
Schneider, K. A. (2004) · doi:10.1049/ic:20040486 · Cited by 47 · see citing works
Lost and found in software space
Schümmer, T. (2005) · Hawaii International Conference on System Sciences (HICSS) · doi:10.1109/hicss.2001.927261 · Cited by 37 · see citing works
Representations and Strategies for Solving Spatial Problems with Diagrams
Banerjee, B., & Chandrasekaran, B. (2007) · Proceedings/Proceedings -- IEEE Symposium on Visual Languages and Human-Centric Computing · doi:10.1109/vlhcc.2007.48 · Cited by 17 · see citing works
Flagged first, then by citations
Cited by
Sorted by citations
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
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
Fleming, S. D., Scaffidi, C., Piorkowski, D., Burnett, M., Bellamy, R., Lawrance, J., & Kwan, I. (2013) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/2430545.2430551 · Cited by 79 · see citing works
Self-citationEnd-user debugging strategies: A sensemaking perspective
Grigoreanu, V., Burnett, M., Wiedenbeck, S., Cao, J., Rector, K., & Kwan, I. (2012) · ACM Transactions on Computer-Human Interaction · doi:10.1145/2147783.2147788 · Cited by 60 · see citing works
Self-citationThe whats and hows of programmers' foraging diets
Piorkowski, D. J., Fleming, S. D., Kwan, I., Burnett, M. M., Scaffidi, C., Bellamy, R. K. E., & Jordahl, J. (2013) · Proceedings of the SIGCHI Conference on Human Factors in Computing Systems · doi:10.1145/2470654.2466418 · Cited by 61 · see citing works
Self-citationReactive 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-citationPiorkowski, D., Fleming, S., Scaffidi, C., Bogart, C., Burnett, M., John, B., Bellamy, R., & Swart, C. (2012) · Proceedings of the SIGCHI Conference on Human Factors in Computing Systems · doi:10.1145/2207676.2208608 · Cited by 50 · see citing works
Self-citationStacksplorer: call graph navigation helps increasing code maintenance efficiency
Karrer, T., Krämer, J.-P., Diehl, J., Hartmann, B., & Borchers, J. (2011) · Proceedings of the 24th annual ACM symposium on User interface software and technology · doi:10.1145/2047196.2047225 · Cited by 48 · see citing works
Developers' code context models for change tasks
Fritz, T., Shepherd, D. C., Kevic, K., Snipes, W., & Bräunlich, C. (2014) · Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering · doi:10.1145/2635868.2635905 · Cited by 45 · see citing works
Foraging 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-citationInference of development activities from interaction with uninstrumented applications
Bao, L., Xing, Z., Xia, X., Lo, D., & Hassan, A. E. (2018) · Empirical Software Engineering · doi:10.1007/s10664-017-9547-8 · Cited by 25 · see citing works
- Authors
- Lawrance, J., Bellamy, R., Burnett, M., & Rector, K.
- Affiliations
- Oregon State University (US)
- IBM (United States) (US)
- Venue
- Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
- Publisher
- ACM
- Published
- 2008-04-06
- Pages
- 1323-1332
- OpenAlex
- W2160570190
- Cited by
- 76
- References
- 29
- Citations by year
- 2026: 4 · 2025: 3 · 2024: 1 · 2023: 1 · 2022: 1 · 2021: 5 · 2020: 6 · 2019: 3 · 2018: 3 · 2017: 6 · 2016: 8 · 2015: 4 · 2014: 2 · 2013: 8 · 2012: 6
- FWCI
- 3.93
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- CHI Conference on Human Factors in Computing Systems (publishedVersion)
- Funders
- National Science Foundation
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Keywords
- information scent, software maintenance, foraging behavior, debugging, bug reports, Java programs, expert programmers
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