Jamie Starke. Master of Science thesis, Department of Computer Science, University of Calgary, July 2010. PDF of the thesis
Source code search is an important activity for developers working on a change task to a software system. To improve tool support, it is important to know how developers use existing tools and what their specific needs are, however, little information is known about how developers use search tools within their development environments as part of these change tasks. To aid in this effort, we were interested in exploring how developers use the search tools in their Integrated Development Environments as part of finding task relevant elements during a software modification task. Also we were interested in exploring how these tools could be improved to better support developers. Towards these ends, we conducted a study in which developers were asked to perform a corrective task to a system they were initially unfamiliar with. We next conducted a follow up study with six developers to explore several possible improvements to source code search tools. Our analysis of the data from these two studies focused on how developers use tools as part of finding relevant information and how search tools can be improved. In reporting on our results, this thesis makes two main contributions. The first contribution is a description of the developers’ searching behaviour, composed of six main findings. For example, we found that many searches performed by our participants were more general than the questions they were attempting to answer and often returned many results or no results. The second contribution is nine proposed features capturing our recommendations for improving search tools. For example, our results suggest that more contextual information should be provided with search results to help developers judge the relevance of the results.
http://www.wordle.net/ overview of the paper: