論文の概要: RefExpo: Unveiling Software Project Structures through Advanced Dependency Graph Extraction
- arxiv url: http://arxiv.org/abs/2407.02620v2
- Date: Wed, 04 Dec 2024 22:48:18 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-12-06 14:38:06.047678
- Title: RefExpo: Unveiling Software Project Structures through Advanced Dependency Graph Extraction
- Title(参考訳): RefExpo: 高度な依存性グラフ抽出によるソフトウェアプロジェクト構造の構築
- Authors: Vahid Haratian, Pouria Derakhshanfar, Vladimir Kovalenko, Eray Tüzün,
- Abstract要約: RefExpoは再利用可能なDG抽出ツールで、Java、Python、JavaScriptなどの複数の言語をサポートする。
この記事では、Java、Python、JavaScriptなどの複数の言語をサポートする再利用可能なDG抽出ツールであるRefExpoを紹介した。
- 参考スコア(独自算出の注目度): 4.213593962963307
- License:
- Abstract: The dependency graph (DG) of a software project offers valuable insights for identifying its key components and has been leveraged in numerous studies. However, there is a lack of reusable tools for DG extraction. Existing tools are either outdated and difficult to configure or fail to provide accurate analysis. This study introduces RefExpo, a reusable DG extraction tool that supports multiple languages such as Java, Python, and JavaScript. RefExpo is a plugin based on IntelliJ, a well-maintained and reputed IDE. We also compile an initial version of our dataset, consisting of 20 Java and Python projects. RefExpo's validity is evaluated at two levels: specific language features and comparisons against other tools, referred to as micro and macro levels. Our results show RefExpo achieves 92\% and 100\% recall on micro test suites Judge and PyCG for Python and Java, respectively. In macro-level experiments, RefExpo outperformed existing tools by 31\% and 7\% in finding unique and shared results. The installable version of RefExpo is available on the IntelliJ marketplace, and a short video describing its functionality is available on YouTube.
- Abstract(参考訳): ソフトウェアプロジェクトの依存性グラフ(DG)は、重要なコンポーネントを特定する上で貴重な洞察を提供し、多くの研究で活用されている。
しかし、DG抽出のための再利用可能なツールが不足している。
既存のツールは時代遅れで、設定が難しいか、正確な分析ができないかのどちらかです。
この記事では、Java、Python、JavaScriptなどの複数の言語をサポートする再利用可能なDG抽出ツールであるRefExpoを紹介した。
RefExpoはIntelliJをベースにしたプラグインだ。
また、20のJavaプロジェクトとPythonプロジェクトからなるデータセットの初期バージョンもコンパイルしています。
RefExpoの有効性は、特定の言語の特徴と、マイクロレベルとマクロレベルと呼ばれる他のツールとの比較の2つのレベルで評価される。
その結果, RefExpo は Python と Java のマイクロテストスイートである judge と PyCG で 992 % と 100 % のリコールを達成した。
マクロレベルの実験では、RefExpoは、独特で共有された結果の発見において、既存のツールを31.5%と7.%で上回りました。
RefExpoのインストール可能なバージョンはIntelliJマーケットプレースで利用可能であり、その機能を説明する短いビデオがYouTubeで公開されている。
関連論文リスト
- ToolHop: A Query-Driven Benchmark for Evaluating Large Language Models in Multi-Hop Tool Use [51.43211624452462]
995のユーザクエリと3,912の関連ツールからなるデータセットであるToolHopを提示する。
ToolHopは、多様なクエリ、意味のある相互依存性、ローカル実行可能なツール、詳細なフィードバック、検証可能な回答を保証する。
5つのモデルファミリーにまたがる14のLSMを評価し、マルチホップツールの使用シナリオを扱う上で重要な課題を明らかにした。
論文 参考訳(メタデータ) (2025-01-05T11:06:55Z) - ExecRepoBench: Multi-level Executable Code Completion Evaluation [45.963424627710765]
本稿では,リポジトリレベルのベンチマークであるExecRepoBenchの作成を通じて,ソフトウェア開発におけるコード補完を強化する新しいフレームワークを紹介する。
本稿では,抽象構文木をベースとした多段階文法ベースの補完手法を提案し,様々な論理単位のコードフラグメントをマスキングする。
次に,Repo-Instruct の 7B パラメータでオープンソースの LLM を微調整し,強力なコード補完ベースラインモデル Qwen2.5-Coder-Instruct-C を生成する。
論文 参考訳(メタデータ) (2024-12-16T17:14:35Z) - Class-Level Code Generation from Natural Language Using Iterative, Tool-Enhanced Reasoning over Repository [4.767858874370881]
実世界のリポジトリ内でクラスレベルのコードを生成する際に,LLMを厳格に評価するためのベンチマークであるRepoClassBenchを紹介する。
RepoClassBenchには、リポジトリの選択からJava、Python、C#にまたがる"Natural Language to Class Generation"タスクが含まれている。
Retrieve-Repotools-Reflect (RRR)は,レポジトリレベルのコンテキストを反復的にナビゲートし,推論する静的解析ツールを備えた新しいアプローチである。
論文 参考訳(メタデータ) (2024-04-22T03:52:54Z) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - EASYTOOL: Enhancing LLM-based Agents with Concise Tool Instruction [56.02100384015907]
EasyToolは、多種多様で長いツールドキュメントを統一的で簡潔なツール命令に変換するフレームワークである。
トークン使用量を大幅に削減し、現実のシナリオにおけるツール利用のパフォーマンスを向上させることができる。
論文 参考訳(メタデータ) (2024-01-11T15:45:11Z) - ControlLLM: Augment Language Models with Tools by Searching on Graphs [97.62758830255002]
我々は,大規模言語モデル(LLM)が実世界のタスクを解くためのマルチモーダルツールを利用できる新しいフレームワークであるControlLLMを提案する。
フレームワークは,(1)複雑なタスクを明確なサブタスクに分割し,入力と出力を適切に定義したサブタスクに分解するtextittask Decomposer,(2)構築済みのツールグラフ上で最適なソリューションパスを探索する textitThoughts-on-Graph(ToG)パラダイム,(3)ソリューションパスを解釈して実行するリッチなツールボックスを備えた textitexecution Engine,の3つの主要なコンポーネントから構成される。
論文 参考訳(メタデータ) (2023-10-26T21:57:21Z) - scg-cli -- a Tool Supporting Software Comprehension via Extraction and
Analysis of Semantic Code Graph [0.0]
scg-cliは、ソフトウェアの理解を容易にするコマンドラインツールである。
JavaおよびScalaプロジェクトから、コード構造と依存関係に関するセマンティック情報を取り出す。
プロジェクトメトリクスを取得し、最も重要なコードエンティティを見つけ、プロジェクトのパーティショニングを計算するのに使うことができる。
論文 参考訳(メタデータ) (2023-10-03T19:04:51Z) - CRAFT: Customizing LLMs by Creating and Retrieving from Specialized
Toolsets [75.64181719386497]
大規模言語モデル(LLM)のためのツール作成・検索フレームワークであるCRAFTを提案する。
タスク用に特別にキュレートされたツールセットを作成し、複雑なタスクを解決する能力を高めるためにこれらのセットからツールを取得するコンポーネントをLLMに装備する。
本手法はフレキシブルに設計されており,既製のLCMを細かな調整なしに未確認領域やモダリティに適応するためのプラグアンドプレイ方式を提供する。
論文 参考訳(メタデータ) (2023-09-29T17:40:26Z) - ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world
APIs [104.37772295581088]
オープンソースの大規模言語モデル(LLM)、例えばLLaMAは、ツール使用能力に大きく制限されている。
データ構築、モデルトレーニング、評価を含む汎用ツールであるToolLLMを紹介する。
ツール使用のためのインストラクションチューニングフレームワークであるToolBenchを,ChatGPTを使って自動構築する。
論文 参考訳(メタデータ) (2023-07-31T15:56:53Z) - A Language Model of Java Methods with Train/Test Deduplication [5.529795221640365]
このツールデモでは、Javaソースコードの言語モデルの研究ツールキットが紹介されている。
対象読者には、Javaのサブルーチン、ステートメント、変数の粒度レベルでの問題を研究する研究者も含まれる。
論文 参考訳(メタデータ) (2023-05-15T00:22:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。