Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
6-2017
Abstract
Traditional code search engines often do not perform well with natural language queries since they mostly apply keyword matching. These engines thus require carefully designed queries containing information about programming APIs for code search. Unfortunately, existing studies suggest that preparing an effective query for code search is both challenging and time consuming for the developers. In this paper, we propose a novel code search tool-RACK-that returns relevant source code for a given code search query written in natural language text. The tool first translates the query into a list of relevant API classes by mining keyword-API associations from the crowdsourced knowledge of Stack Overflow, and then applies the reformulated query to GitHub code search API for collecting relevant results. Once a query related to a programming task is submitted, the tool automatically mines relevant code snippets from thousands of open-source projects, and displays them as a ranked list within the context of the developer's programming environment-the IDE. Tool page: http://www.usask.ca/~masud.rahman/rack.
Keywords
Tools, Natural languages, Programming, Search engines, Context, Search problems, Vocabulary
Discipline
Programming Languages and Compilers | Software Engineering
Research Areas
Cybersecurity
Publication
Proceedings of 39th IEEE/ACM International Conference on Software Engineering Companion, ICSE-C 2017; Buenos Aires, Argentina, 2017 May 20-28
Identifier
10.1109/ICSE-C.2017.11
Publisher
ACM
City or Country
Buenos Aires, Argentina
Citation
RAHMAN, Mohammad Masudur; ROY, Chanchal K.; and LO, David.
RACK: Code Search in the IDE Using Crowdsourced Knowledge. (2017). Proceedings of 39th IEEE/ACM International Conference on Software Engineering Companion, ICSE-C 2017; Buenos Aires, Argentina, 2017 May 20-28.
Available at: https://ink.library.smu.edu.sg/sis_research/3698
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
http://doi.org./10.1109/ICSE-C.2017.11