wakame1367 / papers

Notes about papers I read (in Japanese)
0 stars 0 forks source link

Deep Code Search #2

Open wakame1367 opened 6 years ago

wakame1367 commented 6 years ago

0. 論文

Xiaodong Gu, Hongyu Zhang, Sunghun Kim https://www.icse2018.org/event/icse-2018-technical-papers-deep-code-search

1. どんなもの?

ソースコードのスニペットを検索したい場合に「xmlからオブジェクトを読み込む」のようなクエリを使った検索ができるようにスニペットとクエリそれぞれをベクトル空間に

2. 先行研究と比べてどこがすごい?

3. 技術や手法のキモはどこ?

4. どうやって有効だと検証した?

5. 議論はある?

6. 次に読むべき論文は?

wakame1367 commented 6 years ago

Abst

To implement a program functionality, developers can reuse previously written code snippets by searching through a large-scale codebase. Over the years, many code search tools have been proposed to help developers. The existing approaches often treat source code as textual documents and utilize information retrieval models to retrieve relevant code snippets that match a given query. These approaches mainly rely on the textual similarity between source code and natural language query. They lack a deep understanding of the semantics of queries and source code. In this paper, we propose a novel deep neural network named CODEnn (Code-Description Embedding Neural Network). Instead of matching text similarity, CODEnn jointly embeds code snippets and natural language descriptions into a high-dimensional vector space, in such a way that code snippet and its corresponding description have similar vectors. Using the unified vector representation, code snippets related to a natural language query can be retrieved according to their vectors. Semantically related words can also be recognized and irrelevant/noisy keywords in queries can be handled. As a proof-of-concept application, we implement a code search tool named DeepCS using the proposed CODEnn model. We empirically evaluate DeepCS on a large scale codebase collected from GitHub. The experimental results show that our approach can effectively retrieve relevant code snippets and outperforms previous techniques.

wakame1367 commented 6 years ago

Abst(翻訳) プログラム機能を実装するために、開発者は以前に記述されたコードスニペットを大規模なコードベースで検索して再利用することができます。長年にわたり、開発者を支援するための多くのコード検索ツールが提案されています。既存のアプローチでは、ソースコードをテキスト文書として扱い、情報検索モデルを利用して特定のクエリに一致する関連するコードスニペットを検索することがよくあります。これらのアプローチは、主にソースコードと自然言語クエリとのテキストの類似性に依存しています。彼らは、クエリとソースコードのセマンティクスを深く理解していません。 本論文では、CODEnn(Code-Description Embedding Neural Network)という新しい深層ニューラルネットワークを提案する。 CODEnnは、テキストの類似性を照合するのではなく、コードスニペットとそれに対応する記述のベクトルが類似するように、コードスニペットと自然言語の記述を高次元のベクトル空間に組み込みます。統合されたベクトル表現を使用して、自然言語クエリに関連するコードスニペットをそのベクトルに従って取り出すことができる。意味論的に関連する単語も認識することができ、クエリ内の無関係な/ノイズの多いキーワードを処理することができる。 概念実証アプリケーションとして、提案されたCODEnnモデルを使用してDeepCSという名前のコード検索ツールを実装します。我々はGitHubから収集した大規模なコードベース上でDeepCSを経験的に評価する。実験結果は、我々のアプローチが関連するコードスニペットを効果的に検索し、以前のものより優れていることを示している 技術。

wakame1367 commented 6 years ago

https://blog.acolyer.org/2018/06/26/deep-code-search/