arrow
返回

Automatic query reformulation for code search using crowdsourced knowledge

delete2019-01-21
delete36
PRE
AI
M
Mohammad Masudur Rahman *
C
Chanchal K. Roy
D
David Lo
DOI:10.1007/s10664-018-9671-0delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Traditional code search engines (e.g., Krugle) often do not perform well with natural language queries. They mostly apply keyword matching between query and source code. Hence, they need carefully designed queries containing references to relevant APIs for the code search. Unfortunately, preparing an effective search query is not only challenging but also time-consuming for the developers according to existing studies. In this article, we propose a novel query reformulation technique-RACK-that suggests a list of relevant API classes for a natural language query intended for code search. Our technique offers such suggestions by exploiting keyword-API associations from the questions and answers of Stack Overflow (i.e., crowdsourced knowledge). We first motivate our idea using an exploratory study with 19 standard Java API packages and 344K Java related posts from Stack Overflow. Experiments using 175 code search queries randomly chosen from three Java tutorial sites show that our technique recommends correct API classes within the Top-10 results for 83% of the queries, with 46% mean average precision and 54% recall, which are 66%, 79% and 87% higher respectively than that of the state-of-the-art. Reformulations using our suggested API classes improve 64% of the natural language queries and their overall accuracy improves by 19%. Comparisons with three state-of-the-art techniques demonstrate that RACK outperforms them in the query reformulation by a statistically significant margin. Investigation using three web/code search engines shows that our technique can significantly improve their results in the context of code search.
Keyword:
Code search
Query reformulation
Keyword-API association
Crowdsourced knowledge
Stack Overflow
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

S
Singapore Management University
学者数:
1.5K
论文数: 2.5K
被引数: 3.5K
U
University of Saskatchewan
学者数:
1.5W
论文数: 1.4W
被引数: 1.7W
引用论文

引用论文

err
IF0
err
err0
errOAAI
err
err分享
err收藏
Atomic combination clocks
err2018-12-21
err0
errOAAI
errNitzan Akerman; Roee Ozeri
err分享
err收藏
Free posterior tibial perforator flap: Anatomy and a report of 6 cases
err1996-01-01
err0
PREAI
errLeung-Kim Hung; Jie Lao; Pak-Cheong Ho
err分享
err收藏
err分享
err收藏
Nodeless Bulk Superconductivity in the Time-Reversal Symmetry Breaking Bi/Ni Bilayer System
err2019-01-09
err0
errOAAI
errPrashant Chauhan; Fahad Mahmood; Di Yue; Peng-Chao Xu; Xiaofeng Jin; N. P. Armitage
err分享
err收藏
Unusual Photoisomerization Pathway in a Near-Infrared Light Absorbing Enzymerhodopsin
err2022-10-06
err0
PREAI
errMasahiro Sugiura; Kazuki Ishikawa; Kota Katayama; Yuji Sumii; Rei Abe-Yoshizumi; Satoshi P. Tsunoda; Yuji Furutani; Norio Shibata; Leonid S. Brown; Hideki Kandori
err分享
err收藏
学者 查看更多内容