Publication Type

Journal Article

Version

publishedVersion

Publication Date

1-2024

Abstract

Code search is an essential task in software development. Developers often search the internet and other code databases for necessary source code snippets to ease the development efforts. Code search techniques also help learn programming as novice programmers or students can quickly retrieve (hopefully good) examples already used in actual software projects. Given the recurrence of the code search activity in software development, there is an increasing interest in the research community. To improve the code search experience, the research community suggests many code search tools and techniques. These tools and techniques leverage several different ideas and claim a better code search performance. However, it is still challenging to illustrate a comprehensive view of the field considering that existing studies generally explore narrow and limited subsets of used components. This study aims to devise a grounded approach to understanding the procedure for code search and build an operational taxonomy capturing the critical facets of code search techniques. Additionally, we investigate evaluation methods, benchmarks, and datasets used in the field of code search.

Keywords

Code search, code recommendation, code retrieval, find code, code snippet, code search procedure

Discipline

Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

ACM Computing Surveys

Volume

56

Issue

1

First Page

1

Last Page

49

ISSN

0360-0300

Identifier

10.1145/3604905

Publisher

Association for Computing Machinery (ACM)

Copyright Owner and License

Authors

Creative Commons License

Creative Commons Attribution 4.0 International License
This work is licensed under a Creative Commons Attribution 4.0 International License.

Additional URL

https://doi.org/10.1145/3604905

Share

COinS