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.
Tools, Natural languages, Programming, Search engines, Context, Search problems, Vocabulary
Programming Languages and Compilers | Software Engineering
Proceedings of 39th IEEE/ACM International Conference on Software Engineering Companion, ICSE-C 2017; Buenos Aires, Argentina, 2017 May 20-28
City or Country
Buenos Aires, Argentina
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. Research Collection School Of Information Systems.
Available at: http://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 License.