論文の概要: Unraveling Code Clone Dynamics in Deep Learning Frameworks
- arxiv url: http://arxiv.org/abs/2404.17046v1
- Date: Thu, 25 Apr 2024 21:12:35 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-29 14:24:03.776421
- Title: Unraveling Code Clone Dynamics in Deep Learning Frameworks
- Title(参考訳): ディープラーニングフレームワークにおけるコードクローンダイナミクスの展開
- Authors: Maram Assi, Safwat Hassan, Ying Zou,
- Abstract要約: ディープラーニング(DL)フレームワークは、人工知能の進歩において重要な役割を担い、その急速な成長は、ソフトウェアの品質と保守性に関する包括的な理解の必要性を浮き彫りにしている。
コードクローンは同一または非常に類似したソースコードのフラグメントを同じプロジェクト内、あるいは異なるプロジェクトにわたって参照する。
私たちは、Paddle、PyTorch、Aesara、Ray、MXNet、Keras、Jax、BentoMLという9つの人気のあるDLフレームワークのコードクローンを経験的に分析します。
- 参考スコア(独自算出の注目度): 0.7285835869818668
- License: http://creativecommons.org/publicdomain/zero/1.0/
- Abstract: Deep Learning (DL) frameworks play a critical role in advancing artificial intelligence, and their rapid growth underscores the need for a comprehensive understanding of software quality and maintainability. DL frameworks, like other systems, are prone to code clones. Code clones refer to identical or highly similar source code fragments within the same project or even across different projects. Code cloning can have positive and negative implications for software development, influencing maintenance, readability, and bug propagation. In this paper, we aim to address the knowledge gap concerning the evolutionary dimension of code clones in DL frameworks and the extent of code reuse across these frameworks. We empirically analyze code clones in nine popular DL frameworks, i.e., TensorFlow, Paddle, PyTorch, Aesara, Ray, MXNet, Keras, Jax and BentoML, to investigate (1) the characteristics of the long-term code cloning evolution over releases in each framework, (2) the short-term, i.e., within-release, code cloning patterns and their influence on the long-term trends, and (3) the file-level code clones within the DL frameworks. Our findings reveal that DL frameworks adopt four distinct cloning trends and that these trends present some common and distinct characteristics. For instance, bug-fixing activities persistently happen in clones irrespective of the clone evolutionary trend but occur more in the "Serpentine" trend. Moreover, the within release level investigation demonstrates that short-term code cloning practices impact long-term cloning trends. The cross-framework code clone investigation reveals the presence of functional and architectural adaptation file-level cross-framework code clones across the nine studied frameworks. We provide insights that foster robust clone practices and collaborative maintenance in the development of DL frameworks.
- Abstract(参考訳): ディープラーニング(DL)フレームワークは、人工知能の進歩において重要な役割を担い、その急速な成長は、ソフトウェアの品質と保守性に関する包括的な理解の必要性を浮き彫りにしている。
DLフレームワークは、他のシステムと同様に、コードのクローンになりがちです。
コードクローンは同一または非常に類似したソースコードのフラグメントを同じプロジェクト内、あるいは異なるプロジェクトにわたって参照する。
コードクローンは、保守、可読性、バグの伝播に影響を与えるソフトウェア開発に肯定的かつ負の影響を及ぼす可能性がある。
本稿では,DLフレームワークにおけるコードクローンの進化的次元と,それらのフレームワーク間のコード再利用の程度に関する知識ギャップに対処することを目的とする。
われわれは、TensorFlow、Paddle、PyTorch、Aesara、Ray、MXNet、Keras、Jax、BentoMLの9つの人気のあるDLフレームワークのコードクローンを実証的に分析し、(1)各フレームワークのリリースよりも長いコードクローンの進化の特徴、(2)内部リリース、コードクローンパターン、そしてそれらの長期トレンドへの影響について調査する。
以上の結果から,DLフレームワークは4つの異なるクローン化傾向を呈し,これらの傾向が共通かつ異なる特徴を呈していることが明らかとなった。
例えば、クローン進化の傾向によらず、クローン内では持続的にバグ修正活動が行われ、"Serpentine"トレンドではより多く発生する。
さらに、リリースレベルの調査では、短期的なコードクローンのプラクティスが長期的なコードクローンのトレンドに影響を与えることが示されている。
クロスフレームワークコードクローンの調査は、9つの研究されたフレームワークにわたる機能的およびアーキテクチャ的なファイルレベルのクロスフレームワークコードクローンの存在を明らかにしている。
DLフレームワークの開発において、堅牢なクローンプラクティスと協調的なメンテナンスを促進する洞察を提供する。
関連論文リスト
- An Empirical Analysis of Git Commit Logs for Potential Inconsistency in Code Clones [0.9745141082552166]
私たちは、GitHub上のApache Software Foundationが所有する45のリポジトリを分析しました。
平均的にクローンスニペットは、通常寿命を通して2、3回だけ、頻繁に変更される。
共変化の比率は、すべてのクローンの変化の約半分である。
論文 参考訳(メタデータ) (2024-09-13T06:14:50Z) - DOCE: Finding the Sweet Spot for Execution-Based Code Generation [69.5305729627198]
本稿では,候補生成,$n$-best再ランク,最小ベイズリスク(MBR)復号化,自己老化などを含む包括的フレームワークを提案する。
本研究は,実行ベースメソッドの重要性と,実行ベースメソッドと実行フリーメソッドとの差を明らかにする。
論文 参考訳(メタデータ) (2024-08-25T07:10:36Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - 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) - AdaCCD: Adaptive Semantic Contrasts Discovery Based Cross Lingual
Adaptation for Code Clone Detection [69.79627042058048]
AdaCCDは、その言語でアノテーションを使わずに、新しい言語のクローンコードを検出する新しい言語間適応手法である。
5つのプログラミング言語からなる多言語コードクローン検出ベンチマークを構築し,AdaCCDの言語間適応性を評価する。
論文 参考訳(メタデータ) (2023-11-13T12:20:48Z) - Who Made This Copy? An Empirical Analysis of Code Clone Authorship [1.1512593234650217]
我々は,GitHubに保管されている153のApacheプロジェクトにおいて,Javaファイルの行レベルの粒度のコードクローンのオーサシップを分析した。
すべてのプロジェクトに対して,相当数のクローンラインがあることが分かりました。
クローン集合の3分の1は、主に複数の主要な著者によって貢献されている。
論文 参考訳(メタデータ) (2023-09-03T08:24:32Z) - ZC3: Zero-Shot Cross-Language Code Clone Detection [79.53514630357876]
ゼロショットクロスランゲージコードクローン検出のためのZC3という新しい手法を提案する。
ZC3は、異なるプログラミング言語間で同型表現空間を形成するために、対照的なスニペット予測を設計する。
これに基づいて、ZC3はドメイン認識学習とサイクル一貫性学習を利用して、異なる言語間で整合した表現を生成する。
論文 参考訳(メタデータ) (2023-08-26T03:48:10Z) - Towards Understanding the Capability of Large Language Models on Code
Clone Detection: A Survey [40.99060616674878]
大規模言語モデル(LLM)は、様々なコード関連の知識を持ち、様々なソフトウェア工学の課題に対して汎用的である。
本稿では,クローン検出のためのLLMを包括的に評価し,異なるクローンタイプ,言語,プロンプトを網羅する。
従来の手法を超越した複雑な意味的クローンの検出において,高度なLCMが優れていることがわかった。
論文 参考訳(メタデータ) (2023-08-02T14:56:01Z) - InterCode: Standardizing and Benchmarking Interactive Coding with
Execution Feedback [50.725076393314964]
標準的な強化学習環境として,インタラクティブコーディングの軽量でフレキシブルで使いやすいフレームワークであるInterCodeを紹介した。
私たちのフレームワークは、言語とプラットフォームに依存しない、自己完結型のDocker環境を使用して、安全で再現可能な実行を提供します。
我々は、異なるプロンプト戦略で構成された複数の最先端LLMを評価することにより、InterCodeの生存性をテストベッドとして示す。
論文 参考訳(メタデータ) (2023-06-26T17:59:50Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。