Evaluating How Developers Use General-Purpose Web-Search for Code Retrieval
Evaluating How Developers Use General-Purpose Web-Search for Code Retrieval
复制标题
DOI:
10.1145/3196398.3196425
复制
发表时间:
2018-03
期刊:
影响因子:
--
通讯作者:
Md Masudur Rahman;J. Barson;Sydney Paul;Joshua Kayan;F. Lois;S. Quezada;Chris Parnin;Kathryn T. Stolee;Baishakhi Ray
中科院分区:
文献类型:
--
作者:
Md Masudur Rahman;J. Barson;Sydney Paul;Joshua Kayan;F. Lois;S. Quezada;Chris Parnin;Kathryn T. Stolee;Baishakhi Ray
Search is an integral part of a software development process. Developers often use search engines to look for information during development, including reusable code snippets, API understanding, and reference examples. Developers tend to prefer general-purpose search engines like Google, which are often not optimized for code related documents and use search strategies and ranking techniques that are more optimized for generic, non-code related information. In this paper, we explore whether a general purpose search engine like Google is an optimal choice for code-related searches. In particular, we investigate whether the performance of searching with Google varies for code vs. non-code related searches. To analyze this, we collect search logs from 310 developers that contains nearly 150,000 search queries from Google and the associated result clicks. To di?erentiate between code-related searches and non-code related searches, we build a model which identifies code intent of queries. Leveraging this model, we build an automatic classifier that detects a code and non-code related query. We confirm the e?ectiveness of the classifier on manually annotated queries where the classifier achieves a precision of 87%, a recall of 86%, and an F1-score of 87%. We apply this classifier to automatically annotate all the queries in the dataset. Analyzing this dataset, we observe that code related searching often requires more e?ort (e.g., time, result clicks, and query modifications) than general non-code search, which indicates code search performance with a general search engine is less effective.