Monitoring the searching and browsing behavior of developers in Eclipse during concept location

Bogdan Dit, Wayne State University

Abstract

Software change is one of the fundamental activities during software maintenance. This process requires developers to understand the part of the system that needs to be changed. The first step of the software change process, called concept location is used to identify the computational units that implement a concept of interest for the programmer. During concept location the developers need to seek for important pieces of information that are scattered across software artifacts. This makes software searching and browsing two of the main activities performed during concept location. Although searching and browsing are essential activities for concept location, the exact circumstances in which they are used by developers are still unknown. Understanding these circumstances will help reduce the maintenance cost in industry by creating better tools to assist developers during maintenance tasks, and by improving methodologies that developers can follow in order to become more proficient during maintenance tasks. This thesis introduces a new infrastructure (DevMon) that supports extensive and accurate studies that involve monitoring the activities of developers. The major advantage of DevMon is that it captures data unobtrusively, reducing some of the effects that can bias the results using other data capturing techniques (e.g., questionnaires, think-aloud protocols, etc.). Other advantage of collecting data using DevMon includes the ability of the developer to work in his own environment, over long periods of time without supervision from the researcher. In addition, DevMon captures the data in a structured format, eliminating the activity of transcribing the data into structured episodes, a tedious task prone to errors and subjectivity. Furthermore, the thesis makes the next step towards understanding the intricacies of using searching and browsing in the context of incremental change. This was done by conducting an exploratory study that used DevMon to monitor the interactions of four developers with the Eclipse IDE while they were performing maintenance tasks. We discuss the activities they perform during concept location: searching, browsing, executing the program, editing, focusing more on the first two. In addition, we discuss some strategies that developers adopt during concept location, including query formulations.

Recommended Citation

Bogdan Dit, "Monitoring the searching and browsing behavior of developers in Eclipse during concept location" (January 1, 2009). ETD Collection for Wayne State University. Paper AAI1462410.
http://digitalcommons.wayne.edu/dissertations/AAI1462410