論文の概要: JC-Finder: Detecting Java Clone-based Third-Party Library by Class-level Tree Analysis
- arxiv url: http://arxiv.org/abs/2508.02397v1
- Date: Mon, 04 Aug 2025 13:22:50 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-08-12 13:34:46.835585
- Title: JC-Finder: Detecting Java Clone-based Third-Party Library by Class-level Tree Analysis
- Title(参考訳): JC-Finder:クラスレベルのツリー解析によるJavaクローンベースのサードパーティライブラリの検出
- Authors: Lida Zhao, Chaofan Li, Yueming Wu, Lyuye Zhang, Jiahui Wu, Chengwei Liu, Sen Chen, Yutao Hu, Zhengzi Xu, Yi Liu, Jingquan Ge, Jun Sun, Yang Liu,
- Abstract要約: サードパーティ製ライブラリ(TPL)はソフトウェア開発を促進するが、その混乱した管理はソフトウェアのメンテナンスに大きな脅威をもたらしている。
ソフトウェア構成分析(SCA)は、プロジェクトにおけるTPLの再利用を特定するために用いられる。
JC-Finderは、JavaプロジェクトにおけるTPL再利用のインスタンスを正確にかつ包括的に識別することを目的とした、新しいクローンベースのSCAツールである。
- 参考スコア(独自算出の注目度): 15.985430134378516
- License: http://creativecommons.org/publicdomain/zero/1.0/
- Abstract: While reusing third-party libraries (TPL) facilitates software development, its chaotic management has brought great threats to software maintenance and the unauthorized use of source code also raises ethical problems such as misconduct on copyrighted code. To identify TPL reuse in projects, Software Composition Analysis (SCA) is employed, and two categories of SCA techniques are used based on how TPLs are introduced: clone-based SCA and package-manager-based SCA (PM-based SCA). Although introducing TPLs by clones is prevalent in Java, no clone-based SCA tools are specially designed for Java. Also, directly applying clone-based SCA techniques from other tools is problematic. To fill this gap, we introduce JC-Finder, a novel clone-based SCA tool that aims to accurately and comprehensively identify instances of TPL reuse introduced by source code clones in Java projects. JC-Finder achieves both accuracy and efficiency in identifying TPL reuse from code cloning by capturing features at the class level, maintaining inter-function relationships, and excluding trivial or duplicated elements. To evaluate the efficiency of JC-Finder, we applied it to 9,965 most popular Maven libraries as reference data and tested the TPL reuse of 1,000 GitHub projects. The result shows that JC-Finder achieved an F1-score of 0.818, outperforming the other function-level tool by 0.427. The average time taken for resolving TPL reuse is 14.2 seconds, which is approximately 9 times faster than the other tool. We further applied JC-Finder to 7,947 GitHub projects, revealing TPL reuse by code clones in 789 projects (about 9.89% of all projects) and identifying a total of 2,142 TPLs. JC-Finder successfully detects 26.20% more TPLs that are not explicitly declared in package managers.
- Abstract(参考訳): サードパーティ製ライブラリ(TPL)の再利用はソフトウェア開発を促進するが、そのカオス管理はソフトウェアのメンテナンスに大きな脅威をもたらし、ソースコードの不正使用は著作権のあるコードに対する不正行為のような倫理的問題を提起している。
プロジェクトにおけるTPLの再利用を特定するために、ソフトウェア構成分析(SCA)が採用され、クローンベースのSCAとパッケージマネージャベースのSCA(PMベースのSCA)という2つのカテゴリのSCA技術が採用されている。
クローンによるTPLの導入はJavaでは一般的だが、クローンベースのSCAツールはJava用に特別に設計されていない。
また、他のツールから直接クローンベースのSCA技術を適用することにも問題があります。
このギャップを埋めるために、Javaプロジェクトでソースコードクローンが導入したTPL再利用のインスタンスを正確かつ包括的に識別することを目的とした、新しいクローンベースのSCAツールであるJC-Finderを紹介します。
JC-Finderは、クラスレベルの特徴をキャプチャし、機能間の関係を維持し、自明な要素や重複要素を除外することによって、コードのクローンからTPL再利用を識別する精度と効率を両立させる。
JC-Finderの効率を評価するために、最も人気のあるMavenライブラリ9,965をリファレンスデータとして適用し、1,000のGitHubプロジェクトのTPL再利用をテストしました。
その結果、JC-Finderは0.818のF1スコアを獲得し、他の関数レベルツールよりも0.427向上した。
TPLの再利用に要する平均時間は14.2秒であり、これは他のツールの約9倍の速度である。
さらに、JC-Finderを7,947のGitHubプロジェクトに適用し、789プロジェクトのコードクローンによるTPL再利用(全プロジェクトの約9.89%)を明らかにし、合計2,142のTPLを特定しました。
JC-Finderはパッケージマネージャで明示的に宣言されていない26.20%のTPLを正常に検出する。
関連論文リスト
- CrossPL: Evaluating Large Language Models on Cross Programming Language Code Generation [24.468767564264738]
大規模言語モデル(LLM)のクロスプログラミング言語(CPL)コードを生成する能力を評価するために設計された最初のベンチマークであるCrossPLを提案する。
CrossPLは、IPCを中心とした1,982のタスクで構成され、6つの広く使われているプログラミング言語と7つの代表的CPL技術を含んでいる。
FSMによる検証により,過去3年間にリリースされた14の最先端汎用LLMと6のコード指向LLMをCrossPL上で評価した。
論文 参考訳(メタデータ) (2025-07-26T10:28:39Z) - SwingArena: Competitive Programming Arena for Long-context GitHub Issue Solving [90.32201622392137]
We present SwingArena, a competitive evaluation framework for Large Language Models (LLMs)。
従来の静的ベンチマークとは異なり、SwingArenaはLLMをイテレーションとして組み合わせて、テストケースを作成し、継続的インテグレーション(CI)パイプラインを通じてパッチを検証するパッチとレビュアーを生成することで、ソフトウェアのコラボレーションプロセスをモデル化する。
論文 参考訳(メタデータ) (2025-05-29T18:28:02Z) - BinCoFer: Three-Stage Purification for Effective C/C++ Binary Third-Party Library Detection [3.406168883492101]
サードパーティ製ライブラリ(TPL)は、効率的かつ簡潔なソフトウェア開発を実現するために人気が高まっている。
規制されていないTPLの使用は、ソフトウェア開発に法的およびセキュリティ上の問題をもたらす。
BinCoFerはバイナリプログラムで再利用されたTPLを検出するために設計されたツールである。
論文 参考訳(メタデータ) (2025-04-28T07:57:42Z) - Paper2Code: Automating Code Generation from Scientific Papers in Machine Learning [57.09163579304332]
機械学習論文を機能コードリポジトリに変換するフレームワークであるPaperCoderを紹介した。
PaperCoderは3つの段階で動作する。計画、図によるシステムアーキテクチャの設計、ファイル依存の特定、構成ファイルの生成である。
次に、モデルベースおよび人的評価の両方に基づいて、機械学習論文からコード実装を生成するPaperCoderを評価する。
論文 参考訳(メタデータ) (2025-04-24T01:57:01Z) - SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution [56.9361004704428]
大規模言語モデル(LLM)は、様々な複雑なタスクにまたがる顕著な習熟度を示している。
SWE-Fixerは、GitHubの問題を効果的かつ効率的に解決するために設計された、新しいオープンソースフレームワークである。
我々は,SWE-Bench LiteとVerifiedベンチマークに対するアプローチを評価し,オープンソースモデル間の競合性能を実現する。
論文 参考訳(メタデータ) (2025-01-09T07:54:24Z) - CC2Vec: Combining Typed Tokens with Contrastive Learning for Effective Code Clone Detection [20.729032739935132]
CC2Vecは、単純なコードクローンを素早く識別するために設計された新しいコード符号化手法である。
広く使われている2つのデータセット(BigCloneBenchとGoogle Code Jam)上でCC2Vecを評価する。
論文 参考訳(メタデータ) (2024-05-01T10:18:31Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - 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) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - GPTCloneBench: A comprehensive benchmark of semantic clones and
cross-language clones using GPT-3 model and SemanticCloneBench [1.8687918300580921]
本稿では,SemanticCloneBenchとOpenAIのGPT-3モデルを利用して,包括的セマンティッククローンと言語間クローンベンチマークGPTCloneBenchを提案する。
GPT-3出力の79,928個のクローンペアから、37,149個の真のセマンティッククローンペア、19,288個の偽セマンティックペア(Type-1/Type-2)、および4言語(Java、C、C#、Python)にわたる20,770個のクロス言語クローンのベンチマークを作成しました。
論文 参考訳(メタデータ) (2023-08-26T21:50:34Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - LibAM: An Area Matching Framework for Detecting Third-party Libraries in
Binaries [28.877355564114904]
サードパーティライブラリ(TPL)は、ソフトウェア開発プロセスの迅速化と外部機能を組み込むために、開発者が利用する。
安全性の低いTPL再利用は、重大なセキュリティリスクを引き起こす可能性がある。
分離された関数を関数呼び出しグラフ上の関数領域に接続する新しいエリアマッチングフレームワークであるLibAMを紹介する。
論文 参考訳(メタデータ) (2023-05-06T12:26:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。