論文の概要: Repository-level Code Search with Neural Retrieval Methods
- arxiv url: http://arxiv.org/abs/2502.07067v1
- Date: Mon, 10 Feb 2025 21:59:01 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-12 14:05:43.514211
- Title: Repository-level Code Search with Neural Retrieval Methods
- Title(参考訳): ニューラル検索法によるリポジトリレベルのコード検索
- Authors: Siddharth Gandhi, Luyu Gao, Jamie Callan,
- Abstract要約: 我々は、リポジトリレベルのコード検索のタスクを、ユーザの質問やバグに対処するのに最も関係のある、コードリポジトリの現在の状態からファイルの集合を検索するものとして定義する。
提案手法は,コミットメッセージに対するBM25ベースの検索と,CodeBERTを用いて関連するファイルを識別するニューラルリランクを組み合わせたものである。
7つの人気のあるオープンソースリポジトリから生成された新しいデータセットの実験では、MAP、MRR、P@1がBM25ベースラインに対して最大80%改善されている。
- 参考スコア(独自算出の注目度): 25.222964965449286
- License:
- Abstract: This paper presents a multi-stage reranking system for repository-level code search, which leverages the vastly available commit histories of large open-source repositories to aid in bug fixing. We define the task of repository-level code search as retrieving the set of files from the current state of a code repository that are most relevant to addressing a user's question or bug. The proposed approach combines BM25-based retrieval over commit messages with neural reranking using CodeBERT to identify the most pertinent files. By learning patterns from diverse repositories and their commit histories, the system can surface relevant files for the task at hand. The system leverages both commit messages and source code for relevance matching, and is evaluated in both normal and oracle settings. Experiments on a new dataset created from 7 popular open-source repositories demonstrate substantial improvements of up to 80% in MAP, MRR and P@1 over the BM25 baseline, across a diverse set of queries, demonstrating the effectiveness this approach. We hope this work aids LLM agents as a tool for better code search and understanding. Our code and results obtained are publicly available.
- Abstract(参考訳): 本稿では,大規模なオープンソースリポジトリのコミット履歴を利用して,バグ修正を支援する多段階的なリポジトリレベルのコード検索システムを提案する。
我々は、リポジトリレベルのコード検索のタスクを、ユーザの質問やバグに対処するのに最も関係のある、コードリポジトリの現在の状態からファイルの集合を検索するものとして定義する。
提案手法は,コミットメッセージに対するBM25ベースの検索と,CodeBERTを用いて関連するファイルを識別するニューラルリランクを組み合わせたものである。
多様なリポジトリとそのコミット履歴からパターンを学習することにより、システムは手元にあるタスクに関連するファイルを検索することができる。
このシステムは、コミットメッセージとソースコードの両方を関連性マッチングに利用し、通常の設定とオラクルの設定の両方で評価される。
7つの人気のあるオープンソースリポジトリから作成された新しいデータセットの実験は、BM25ベースラインに対してMAP、MRR、P@1を最大80%改善し、さまざまなクエリセットで検証し、このアプローチの有効性を実証している。
この作業は、LLMエージェントをより良いコード検索と理解のツールとして役立てることを願っています。
私たちのコードと結果が公開されています。
関連論文リスト
- 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) - DiscoveryBench: Towards Data-Driven Discovery with Large Language Models [50.36636396660163]
我々は、データ駆動探索の多段階プロセスを形式化する最初の包括的なベンチマークであるDiscoveryBenchを紹介する。
我々のベンチマークには、社会学や工学などの6つの分野にまたがる264のタスクが含まれている。
私たちのベンチマークでは、自律的なデータ駆動型発見の課題を説明し、コミュニティが前進するための貴重なリソースとして役立ちます。
論文 参考訳(メタデータ) (2024-07-01T18:58:22Z) - Hierarchical Context Pruning: Optimizing Real-World Code Completion with Repository-Level Pretrained Code LLMs [24.00351065427465]
本稿では,階層型コンテキストプルーニング(HCP)という戦略を提案し,高い情報量を持つコンプリートプロンプトを構築する。
HCPは関数レベルでコードリポジトリをモデル化し、コードファイル間のトポロジ的な依存関係を維持しながら、大量の無関係なコードコンテンツを削除する。
論文 参考訳(メタデータ) (2024-06-26T12:26:16Z) - GraphCoder: Enhancing Repository-Level Code Completion via Code Context Graph-based Retrieval and Language Model [30.625128161499195]
GraphCoderは検索拡張コード補完フレームワークである。
一般的なコード知識と、グラフベースの検索生成プロセスを通じてリポジトリ固有の知識を使用する。
コードマッチでは+6.06、識別子マッチでは+6.23となり、時間と空間は少ない。
論文 参考訳(メタデータ) (2024-06-11T06:55:32Z) - On The Importance of Reasoning for Context Retrieval in Repository-Level Code Editing [82.96523584351314]
我々は、コンテキスト検索のタスクをリポジトリレベルのコード編集パイプラインの他のコンポーネントと分離する。
我々は、推論が収集された文脈の精度を向上させるのに役立っているが、それでもその十分性を識別する能力は欠如していると結論づける。
論文 参考訳(メタデータ) (2024-06-06T19:44:17Z) - How to Understand Whole Software Repository? [64.19431011897515]
リポジトリ全体に対する優れた理解は、自動ソフトウェアエンジニアリング(ASE)への重要な道になるでしょう。
本研究では,リポジトリ全体を包括的に理解するためのエージェントによるRepoUnderstanderという新しい手法を開発した。
リポジトリレベルの知識をより活用するために、エージェントをまとめ、分析し、計画する。
論文 参考訳(メタデータ) (2024-06-03T15:20:06Z) - Dataflow-Guided Retrieval Augmentation for Repository-Level Code Completion [17.4397495929138]
本稿では,リポジトリレベルのコード補完のためのデータフロー誘導型検索拡張手法DraCoを提案する。
実験では、DraCoの精度と適用効率が向上し、コード精度が3.43%向上し、識別子F1スコアが平均3.27%向上した。
論文 参考訳(メタデータ) (2024-05-30T07:48:00Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Repo2Vec: A Comprehensive Embedding Approach for Determining Repository
Similarity [2.095199622772379]
Repo2Vecは、リポジトリを分散ベクタとして表現するための包括的な埋め込みアプローチである。
当社の手法をGitHubから2つの実際のデータセットで評価し、1013リポジトリを組み合わせて検討した。
論文 参考訳(メタデータ) (2021-07-11T18:57:03Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。