scispace - formally typeset
Proceedings ArticleDOI

Retrieval on source code: a neural code search

Reads0
Chats0
TLDR
This paper investigates the use of natural language processing and information retrieval techniques to carry out natural language search directly over source code, i.e. without having a curated Q&A forum such as Stack Overflow at hand.
Abstract
Searching over large code corpora can be a powerful productivity tool for both beginner and experienced developers because it helps them quickly find examples of code related to their intent. Code search becomes even more attractive if developers could express their intent in natural language, similar to the interaction that Stack Overflow supports. In this paper, we investigate the use of natural language processing and information retrieval techniques to carry out natural language search directly over source code, i.e. without having a curated Q&A forum such as Stack Overflow at hand. Our experiments using a benchmark suite derived from Stack Overflow and GitHub repositories show promising results. We find that while a basic word–embedding based search procedure works acceptably, better results can be obtained by adding a layer of supervision, as well as by a customized ranking strategy.

read more

Citations
More filters
Proceedings ArticleDOI

When deep learning met code search

TL;DR: In this paper, the authors evaluate the performance of supervised techniques for code search using natural language and show that adding supervision to an existing unsupervised technique can improve performance, though not necessarily by much.
Proceedings ArticleDOI

NL2Type: inferring JavaScript function types from natural language information

TL;DR: NL2Type is presented, a learning-based approach for predicting likely type signatures of JavaScript functions using a recurrent, LSTM-based neural model that, after learning from an annotated code base, predicts function types for unannotated code.
Journal ArticleDOI

Aroma: Code Recommendation via Structural Code Search

TL;DR: Aroma as mentioned in this paper is a tool and technique for code recommendation via structural code search, which takes a partial code snippet as input, searches the corpus for method bodies containing the partial code snippets, and clusters and intersects the results of the search to recommend a small set of succinct code snippets which both contain the query snippet and appear as part of several methods in the corpus.
Journal ArticleDOI

Aroma: code recommendation via structural code search

TL;DR: Aroma as mentioned in this paper is a tool and technique for code recommendation via structural code search, which takes a partial code snippet as input, searches the corpus for method bodies containing the partial code snippets, and clusters and intersects the results of the search to recommend a small set of succinct code snippets which both contain the query snippet and appear as part of several methods in the corpus.
Posted Content

Adversarial Examples for Models of Code

TL;DR: The main idea of the approach is to force a given trained model to make an incorrect prediction, as specified by the adversary, by introducing small perturbations that do not change the program’s semantics, thereby creating an adversarial example.
References
More filters
Proceedings Article

Distributed Representations of Words and Phrases and their Compositionality

TL;DR: This paper presents a simple method for finding phrases in text, and shows that learning good vector representations for millions of phrases is possible and describes a simple alternative to the hierarchical softmax called negative sampling.
Journal ArticleDOI

Enriching Word Vectors with Subword Information

TL;DR: This paper proposed a new approach based on skip-gram model, where each word is represented as a bag of character n-grams, words being represented as the sum of these representations, allowing to train models on large corpora quickly and allowing to compute word representations for words that did not appear in the training data.
Journal ArticleDOI

Distributional Structure

TL;DR: This discussion will discuss how each language can be described in terms of a distributional structure, i.e. in Terms of the occurrence of parts relative to other parts, and how this description is complete without intrusion of other features such as history or meaning.
Posted Content

Enriching Word Vectors with Subword Information

TL;DR: A new approach based on the skipgram model, where each word is represented as a bag of character n-grams, with words being represented as the sum of these representations, which achieves state-of-the-art performance on word similarity and analogy tasks.
Posted Content

Billion-scale similarity search with GPUs

TL;DR: In this paper, the authors propose a design for k-selection that operates at up to 55% of theoretical peak performance, enabling a nearest neighbor implementation that is 8.5x faster than prior GPU state of the art.
Related Papers (5)