[en] Source code terms such as method names and variable types are often different from
conceptual words mentioned in a search query.
This vocabulary mismatch problem can make code search inefficient.
In this paper, we present Code
voCABUlary (CoCaBu), an approach to resolving the vocabulary
mismatch problem when dealing with free-form code search queries.
Our approach leverages common developer questions
and the associated expert answers to augment user queries with the relevant, but missing,
structural code entities in order to improve the performance of matching
relevant code examples within large code repositories. To instantiate this
approach, we build GitSearch, a code search engine, on top of GitHub and
StackOverflow Q\&A data.
We evaluate GitSearch in several dimensions to demonstrate that
(1) its code search results are correct with respect to user-accepted answers;
(2) the results are qualitatively better than those of existing
Internet-scale code search engines; (3) our engine is competitive
against web search engines, such as Google, in helping users complete solve programming tasks;
and (4) GitSearch provides code examples that are acceptable or interesting
to the community as answers for StackOverflow questions.
Disciplines :
Computer science
Author, co-author :
Sirres, Raphael; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Kim, Dongsun ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Lo, David; Singapore Management University
Klein, Jacques ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > Computer Science and Communications Research Unit (CSC)
Le Traon, Yves ; University of Luxembourg > Faculty of Science, Technology and Communication (FSTC) > Computer Science and Communications Research Unit (CSC)
Language :
English
Title :
Augmenting and Structuring User Queries to Support Efficient Free-Form Code Search