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.

Document Details

Document Type
Pub Defense Publication
Publication Date
Mar 01, 2013
Source ID
10.1145/2430545.2430551

Entities

People

  • Chris Scaffidi
  • David Piorkowski
  • Irwin Kwan
  • Joseph Lawrance
  • Margaret M. Burnett
  • Rachel Bellamy
  • Scott D. Fleming

Organizations

  • Air Force Office of Scientific Research
  • IBM Research
  • International Business Machines Corporation (Armonk, NY)
  • Massachusetts Institute of Technology
  • National Science Foundation
  • Oregon State University

Tags

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computer Vision.
  • Military Science and Technology Research and Modernization.
  • Theoretical Analysis.