Are the Code Snippets What We Are Searching for? A Benchmark and an Empirical Study on Code Search with Natural-Language Queries
By Shuhan Yan, Hang Yu, Yuting Chen, Beijun Shen, Lingxiao Jiang. 2020
64 citations recorded by the source corpus.
Code search methods, especially those that allow programmers to raise queries in a natural language, plays an important role in software development. It helps to improve programmers' productivity by returning sample code snippets from the Internet and/or source-code repositories for their natural-language queries. Meanwhile, there are many code search methods in the literature that support natural-language queries. Difficulties exist in recognizing the strengths and weaknesses of each method and choosing the right one for different usage scenarios, because (1) the implementations of those methods and the datasets for evaluating them are usually not publicly available, and (2) some methods leverage different training datasets or auxiliary data sources and thus their effectiveness cannot be fairly measured and may be negatively affected in practical uses. To build a common ground for measuring code search methods, this paper builds CosBench, a dataset that consists of 1000 projects, 52 code-independent natural-language queries with ground truths, and a set of scripts for calculating four metrics on code research results. We have evaluated four IR (Information Retrieval)-based and two DL (Deep Learning)-based code search methods on CosBench. The empirical evaluation results clearly show the usefulness of the CosBench dataset and various strengths of each code search method. We found that DL-based methods are more suitable for queries on reusing code, and IR-based ones for queries on resolving bugs and learning API uses.
Subfields: Artificial Intelligence, Information Systems, Software, Information Retrieval & Search, Code Generation & Program Synthesis
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Nan Duan
- Daya Guo
- Colin B. Clement
- Shujie Liu
- Ming Zhou
- Neel Sundaresan
- Alexey Svyatkovskiy
- Duyu Tang
In Information Systems
- Nan Duan
- Daya Guo
- Neel Sundaresan
- Alexey Svyatkovskiy
- Colin B. Clement
- Shuai Lu
- Shao Kun Deng
- Dawn Drain
In Software
- Neel Sundaresan
- Alexey Svyatkovskiy
- Daya Guo
- Nan Duan
- Colin B. Clement
- Shao Kun Deng
- Dawn Drain
- Michele Tufano
In Information Retrieval & Search
In Code Generation & Program Synthesis
Citations in the corpus
- CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation (2021, methodology): “[91], we design some heuristics based on keyword exact matching to filter out queries without the code search intent.”
- CoSQA: 20,000+ Web Queries for Code Search and Question Answering (2021, background): “There are also high-quality but small scale testing sets curated for code search evaluation (Li et al., 2019; Yan et al., 2020; Lv et al., 2015).”