Opportunities and challenges in code search tools

Chao Liu, Xin Xia, David Lo, Cuiyun Gao, Xiaohu Yang, John Grundy

Research output: Contribution to journalReview ArticleResearchpeer-review

65 Citations (Scopus)

Abstract

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.

Original languageEnglish
Article number196
Number of pages40
JournalACM Computing Surveys
Volume54
Issue number9
DOIs
Publication statusPublished - Dec 2022

Keywords

  • code retrieval
  • Code search
  • modeling

Cite this