論文の概要: Who Made This Copy? An Empirical Analysis of Code Clone Authorship
- arxiv url: http://arxiv.org/abs/2309.01116v1
- Date: Sun, 3 Sep 2023 08:24:32 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 09:15:16.190187
- Title: Who Made This Copy? An Empirical Analysis of Code Clone Authorship
- Title(参考訳): 誰がコピーしたの?
コードクローン作成者の経験的分析
- Authors: Reishi Yokomori and Katsuro Inoue
- Abstract要約: 我々は,GitHubに保管されている153のApacheプロジェクトにおいて,Javaファイルの行レベルの粒度のコードクローンのオーサシップを分析した。
すべてのプロジェクトに対して,相当数のクローンラインがあることが分かりました。
クローン集合の3分の1は、主に複数の主要な著者によって貢献されている。
- 参考スコア(独自算出の注目度): 1.1512593234650217
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Code clones are code snippets that are identical or similar to other snippets
within the same or different files. They are often created through
copy-and-paste practices during development and maintenance activities. Since
code clones may require consistent updates and coherent management, they
present a challenging issue in software maintenance. Therefore, many studies
have been conducted to find various types of clones with accuracy, scalability,
or performance. However, the exploration of the nature of code clones has been
limited. Even the fundamental question of whether code snippets in the same
clone set were written by the same author or different authors has not been
thoroughly investigated.
In this paper, we investigate the characteristics of code clones with a focus
on authorship. We analyzed the authorship of code clones at the line-level
granularity for Java files in 153 Apache projects stored on GitHub and
addressed three research questions.
Based on these research questions, we found that there are a substantial
number of clone lines across all projects (an average of 18.5\% for all
projects). Furthermore, authors who contribute to many non-clone lines also
contribute to many clone lines. Additionally, we found that one-third of clone
sets are primarily contributed to by multiple leading authors.
These results confirm our intuitive understanding of clone characteristics,
although no previous publications have provided empirical validation data from
multiple projects. As the results could assist in designing better clone
management techniques, we will explore the implications of developing an
effective clone management tool.
- Abstract(参考訳): コードクローンは、同一または異なるファイル内の他のスニペットと同一または類似のコードスニペットである。
それらはしばしば、開発や保守活動中にコピー&ペーストによって作られる。
コードクローンは一貫性のある更新と一貫性のある管理を必要とする可能性があるため、ソフトウェアメンテナンスにおいて難しい問題が発生する。
そのため、精度、スケーラビリティ、性能の様々なクローンを見つけるために多くの研究が行われている。
しかし、コードクローンの性質の探索は限られている。
同じクローンセットのコードスニペットが同じ著者によって書かれたのか、あるいは異なる著者によって書かれたのかという根本的な問題でさえ、徹底的に調査されていない。
本稿では,著者に焦点をあてたコードクローンの特性について検討する。
我々は、GitHubに保管されている153のApacheプロジェクトで、Javaファイルの行レベルの粒度のコードクローンのオーサシップを分析し、3つの研究課題に対処した。
これらの研究の質問に基づいて、すべてのプロジェクトにかなりの数のクローンラインがあることが分かりました(すべてのプロジェクトに対して平均18.5\%)。
さらに、多くの非クローンラインに貢献している著者も多くのクローンラインに貢献している。
さらに、クローン集合の3分の1は、主に複数の主要な著者によって貢献されていることがわかった。
これらの結果はクローン特性の直感的な理解を裏付けるものであるが、複数のプロジェクトからの経験的検証データを提供していない。
結果は,より優れたクローン管理技術の設計を支援することができるため,有効なクローン管理ツールを開発することの意味について検討する。
関連論文リスト
- 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) - 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) - Unraveling Code Clone Dynamics in Deep Learning Frameworks [0.7285835869818668]
ディープラーニング(DL)フレームワークは、人工知能の進歩において重要な役割を担い、その急速な成長は、ソフトウェアの品質と保守性に関する包括的な理解の必要性を浮き彫りにしている。
コードクローンは同一または非常に類似したソースコードのフラグメントを同じプロジェクト内、あるいは異なるプロジェクトにわたって参照する。
私たちは、Paddle、PyTorch、Aesara、Ray、MXNet、Keras、Jax、BentoMLという9つの人気のあるDLフレームワークのコードクローンを経験的に分析します。
論文 参考訳(メタデータ) (2024-04-25T21:12:35Z) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - 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) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Evaluation of Contrastive Learning with Various Code Representations for
Code Clone Detection [3.699097874146491]
コードスニペットの意味的クローンを検出するためのコントラスト学習の評価を行った。
CodeTransformatorを使って、競争力のあるプログラミングソリューションに基づいて、プラジャライズされたコードを模倣するデータセットを作成します。
評価の結果,提案手法は各タスクにおいて多種多様な性能を示すが,グラフベースモデルの性能は概して他のモデルよりも優れていることがわかった。
論文 参考訳(メタデータ) (2022-06-17T12:25:44Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。