  Code search is a core software engineering task. Effective code search tools
can help developers substantially improve their software development efficiency
and effectiveness. In recent years, many code search studies have leveraged
different techniques, such as deep learning and information retrieval
approaches, to retrieve expected code from a large-scale codebase. However,
there is a lack of a comprehensive comparative summary of existing code search
approaches. To understand the research trends in existing code search studies,
we systematically reviewed 81 relevant studies. We investigated the publication
trends of code search studies, analyzed key components, such as codebase,
query, and modeling technique used to build code search tools, and classified
existing tools into focusing on supporting seven different search tasks. Based
on our findings, we identified a set of outstanding challenges in existing
studies and a research roadmap for future code search research.
