論文の概要: Deep Code Search with Naming-Agnostic Contrastive Multi-View Learning
- arxiv url: http://arxiv.org/abs/2408.09345v1
- Date: Sun, 18 Aug 2024 03:47:34 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-20 21:09:49.064261
- Title: Deep Code Search with Naming-Agnostic Contrastive Multi-View Learning
- Title(参考訳): Naming-Agnostic Contrastive Multi-View Learningを用いた深層コード検索
- Authors: Jiadong Feng, Wei Li, Zhao Wei, Yong Xu, Juhong Wang, Hui Li,
- Abstract要約: コントラッシブな多視点コード表現学習に基づく命名非依存コード探索法(NACS)を提案する。
NACSは、ソースコードの抽象構文構造の表現であるAST(Abstract Syntax Tree)から変数名に結びついた情報を取り除き、AST構造のみから固有のプロパティを取得することに重点を置いている。
- 参考スコア(独自算出の注目度): 11.337238450492546
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Software development is a repetitive task, as developers usually reuse or get inspiration from existing implementations. Code search, which refers to the retrieval of relevant code snippets from a codebase according to the developer's intent that has been expressed as a query, has become increasingly important in the software development process. Due to the success of deep learning in various applications, a great number of deep learning based code search approaches have sprung up and achieved promising results. However, developers may not follow the same naming conventions and the same variable may have different variable names in different implementations, bringing a challenge to deep learning based code search methods that rely on explicit variable correspondences to understand source code. To overcome this challenge, we propose a naming-agnostic code search method (NACS) based on contrastive multi-view code representation learning. NACS strips information bound to variable names from Abstract Syntax Tree (AST), the representation of the abstract syntactic structure of source code, and focuses on capturing intrinsic properties solely from AST structures. We use semantic-level and syntax-level augmentation techniques to prepare realistically rational data and adopt contrastive learning to design a graph-view modeling component in NACS to enhance the understanding of code snippets. We further model ASTs in a path view to strengthen the graph-view modeling component through multi-view learning. Extensive experiments show that NACS provides superior code search performance compared to baselines and NACS can be adapted to help existing code search methods overcome the impact of different naming conventions.
- Abstract(参考訳): ソフトウェア開発は、開発者が通常既存の実装を再利用したり、インスピレーションを得たりするため、反復的なタスクである。
コード検索は、開発者がクエリとして表現した意図に従ってコードベースから関連するコードスニペットを検索することを指すもので、ソフトウェア開発プロセスにおいてますます重要になっている。
様々なアプリケーションにおけるディープラーニングの成功により、多くのディープラーニングベースのコード検索アプローチが生まれ、有望な結果を得た。
しかし、開発者は同じ命名規則に従わないかもしれないし、同じ変数は異なる実装で異なる変数名を持つかもしれない。
この課題を克服するために、コントラッシブなマルチビューコード表現学習に基づく命名に依存しないコード探索法(NACS)を提案する。
NACSは、ソースコードの抽象構文構造の表現であるAST(Abstract Syntax Tree)から変数名に結びついた情報を取り除き、AST構造のみから固有のプロパティを取得することに重点を置いている。
我々は、意味レベルと構文レベルの拡張技術を用いて、現実的に合理的なデータを作成し、対照的な学習を採用して、NACSのグラフビューモデリングコンポーネントを設計し、コードスニペットの理解を深める。
我々はさらに、多視点学習を通してグラフビューモデリングコンポーネントを強化するために、パスビューでASTをモデル化する。
大規模な実験により、NACSはベースラインよりも優れたコード検索性能を提供し、NACSは既存のコード検索手法が異なる命名規則の影響を克服するのに役立つことが示されている。
関連論文リスト
- CodeXEmbed: A Generalist Embedding Model Family for Multiligual and Multi-task Code Retrieval [103.116634967815]
CodeXEmbedは400Mから7Bパラメータの大規模なコード埋め込みモデルのファミリーである。
我々の新しいトレーニングパイプラインは、複数のプログラミング言語を統合し、様々なコード関連タスクを共通の検索フレームワークに変換する。
私たちの7Bモデルは、コード検索において新しい最先端(SOTA)を設定し、以前の主要なモデルであるVoyage-CodeをCoIRベンチマークで20%以上上回っています。
論文 参考訳(メタデータ) (2024-11-19T16:54:45Z) - CoIR: A Comprehensive Benchmark for Code Information Retrieval Models [56.691926887209895]
textbfInformation textbfRetrieval Benchmark(textbfInformation textbfRetrieval Benchmark)は,コード検索機能の評価に特化して設計された,堅牢で包括的なベンチマークである。
名前は、Textbftenを巧みにキュレートしたコードデータセットから成り、textbfs7の異なるドメインにまたがる、textbfeight特有の検索タスクにまたがる。
我々は9つの広く使われている検索モデルを名前を用いて評価し、最先端のシステムであってもコード検索タスクの実行に重大な困難を見出した。
論文 参考訳(メタデータ) (2024-07-03T07:58:20Z) - Survey of Code Search Based on Deep Learning [11.94599964179766]
この調査は、コード検索、すなわち、あるクエリにマッチするコードを取得することに焦点を当てている。
複雑な意味情報を抽出できるディープラーニングは、この分野で大きな成功を収めている。
本稿では,最先端のディープラーニングに基づくコード検索を記述した新しい分類法を提案する。
論文 参考訳(メタデータ) (2023-05-10T08:07:04Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - Multimodal Representation for Neural Code Search [18.371048875103497]
本稿では,AST の簡易な形式でツリーシリアライズ手法を導入し,コードデータのマルチモーダル表現を構築する。
この結果から,木をシリアライズした表現とマルチモーダル学習モデルの両方がニューラルコード検索の性能を向上させることがわかった。
論文 参考訳(メタデータ) (2021-07-02T12:08:19Z) - Deep Graph Matching and Searching for Semantic Code Retrieval [76.51445515611469]
本稿では,グラフニューラルネットワークに基づくエンドツーエンドのディープグラフマッチングと探索モデルを提案する。
まず、自然言語クエリテキストとプログラミング言語のコードスニペットをグラフ構造化データで表現する。
特に、DGMSは、個々のクエリテキストやコードスニペットのより構造的な情報をキャプチャするだけでなく、それらの微妙な類似性も学習する。
論文 参考訳(メタデータ) (2020-10-24T14:16:50Z) - COSEA: Convolutional Code Search with Layer-wise Attention [90.35777733464354]
我々は、畳み込みニューラルネットワークを階層的注意で活用し、コード固有の構造論理をキャプチャする新しいディープラーニングアーキテクチャ、COSEAを提案する。
COSEAは、コード検索タスクの最先端メソッドよりも大幅に改善できる。
論文 参考訳(メタデータ) (2020-10-19T13:53:38Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z) - OCoR: An Overlapping-Aware Code Retriever [15.531119719750807]
自然言語による記述が与えられた場合、コード検索は一連のコードの中で最も関連性の高いコードを探すことを目的としている。
既存の最先端アプローチでは、ニューラルネットワークをコード検索に適用している。
我々はOCoRという新しいニューラルアーキテクチャを提案し、オーバーラップを捉えるために2つの特別に設計されたコンポーネントを紹介した。
論文 参考訳(メタデータ) (2020-08-12T09:43:35Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。