An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
- 1 March 2013
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 22 (2), 1-41
- https://doi.org/10.1145/2430545.2430551
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.Keywords
Funding Information
- International Business Machines Corporation
- Air Force Office of Scientific Research (FA9550-09-l-0213)
- National Science Foundation (ITR-0325273)
This publication has 68 references indexed in Scilit:
- Building Theories in Software EngineeringPublished by Springer Science and Business Media LLC ,2008
- Pattern Languages in HCI: A Critical ReviewHuman–Computer Interaction, 2006
- Relation of Code Clones and Change CouplingsLecture Notes in Computer Science, 2006
- Using end-user visualization environments to mediate conversations: a ‘Communicative Dimensions’ frameworkJournal of Visual Languages & Computing, 2005
- How effective developers investigate source code: an exploratory studyIEEE Transactions on Software Engineering, 2004
- ScentTrailsACM Transactions on Computer-Human Interaction, 2003
- Human-Computer Interaction: Psychological Aspects of the Human Use of ComputingAnnual Review of Psychology, 2003
- Information foraging.Psychological Review, 1999
- Architectural mismatch: why reuse is so hardIEEE Software, 1995
- Towards a theory of the comprehension of computer programsInternational Journal of Man-Machine Studies, 1983