論文の概要: An Empirical Analysis of Git Commit Logs for Potential Inconsistency in Code Clones
- arxiv url: http://arxiv.org/abs/2409.08555v1
- Date: Fri, 13 Sep 2024 06:14:50 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-16 17:38:30.962112
- Title: An Empirical Analysis of Git Commit Logs for Potential Inconsistency in Code Clones
- Title(参考訳): コードクローンの潜在的な一貫性のためのGitコミットログの実証分析
- Authors: Reishi Yokomori, Katsuro Inoue,
- Abstract要約: 私たちは、GitHub上のApache Software Foundationが所有する45のリポジトリを分析しました。
平均的にクローンスニペットは、通常寿命を通して2、3回だけ、頻繁に変更される。
共変化の比率は、すべてのクローンの変化の約半分である。
- 参考スコア(独自算出の注目度): 0.9745141082552166
- 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 and modified during development and maintenance activities. Since a pair of code clones, known as a clone pair, has a possible logical coupling between them, it is expected that changes to each snippet are made simultaneously (co-changed) and consistently. There is extensive research on code clones, including studies related to the co-change of clones; however, detailed analysis of commit logs for code clone pairs has been limited. In this paper, we investigate the commit logs of code snippets from clone pairs, using the git-log command to extract changes to cloned code snippets. We analyzed 45 repositories owned by the Apache Software Foundation on GitHub and addressed three research questions regarding commit frequency, co-change ratio, and commit patterns. Our findings indicate that (1) on average, clone snippets are changed infrequently, typically only two or three times throughout their lifetime, (2) the ratio of co-changes is about half of all clone changes, with 10-20\% of co-changed commits being concerning (potentially inconsistent), and (3) 35-65\% of all clone pairs being classified as concerning clone pairs (potentially inconsistent clone pairs). These results suggest the need for a consistent management system through the commit timeline of clones.
- Abstract(参考訳): コードクローンは、同一または異なるファイル内の他のスニペットと同一または類似のコードスニペットである。
それらはしばしばコピー・アンド・ペーストによって作成され、開発や保守活動中に修正される。
クローンペアとして知られるコードクローンのペアは、それらの間に論理的な結合が可能であるため、それぞれのスニペットの変更を同時に(共変更)、一貫して行うことが期待されている。
クローンの共変更に関する研究を含む、コードクローンに関する広範な研究があるが、コードクローンペアのコミットログの詳細な分析は限られている。
本稿では,クローンコードスニペットからコードスニペットのコミットログをgit-logコマンドを用いて解析し,クローンコードスニペットの変更を抽出する。
私たちはGitHub上のApache Software Foundationが所有する45のリポジトリを分析し、コミット頻度、共変更率、コミットパターンに関する3つの研究課題に対処しました。
その結果,(1) 平均クローンスニペットは, 寿命を通じて2~3回しか変化しない,(2) 共変率は全クローンの約半分であり, 共変コミットの10~20倍, (3) 全クローンペアの35~65倍はクローンペア(潜在的に矛盾するクローンペア)に分類されることがわかった。
これらの結果はクローンのコミットタイムラインを通じて一貫した管理システムの必要性を示唆している。
関連論文リスト
- 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) - 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) - 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) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Generalizability of Code Clone Detection on CodeBERT [0.0]
CodeBERTのようなトランスフォーマーネットワークは、ベンチマークデータセットのコードクローン検出において、すでに優れた結果が得られている。
我々は、BigCloneBenchからJavaコードクローンの2つの異なるサブセットを評価することで、CodeBERTの一般化性が低下することを示す。
論文 参考訳(メタデータ) (2022-08-26T11:24:20Z) - Evaluation of Contrastive Learning with Various Code Representations for
Code Clone Detection [3.699097874146491]
コードスニペットの意味的クローンを検出するためのコントラスト学習の評価を行った。
CodeTransformatorを使って、競争力のあるプログラミングソリューションに基づいて、プラジャライズされたコードを模倣するデータセットを作成します。
評価の結果,提案手法は各タスクにおいて多種多様な性能を示すが,グラフベースモデルの性能は概して他のモデルよりも優れていることがわかった。
論文 参考訳(メタデータ) (2022-06-17T12:25:44Z) - Faster Person Re-Identification [68.22203008760269]
本稿では,新しいハッシュコード検索戦略を定式化することによって,高速ReIDのための新しいソリューションを提案する。
より短いコードを使用して、より正確なReIDのいくつかのトップ候補を洗練するために、より広い一致の類似性を粗くランク付けし、より長いコードを使用する。
2つのデータセットに対する実験結果から,提案手法(CtF)は現在のハッシュReID法よりも8%精度が高いだけでなく,5倍高速であることがわかった。
論文 参考訳(メタデータ) (2020-08-16T03:02:49Z) - Semantic Clone Detection via Probabilistic Software Modeling [69.43451204725324]
本稿では,0%の構文的類似性を有するクローンを検出する意味的クローン検出手法を提案する。
我々は,SCD-PSMをセマンティッククローン検出のための安定かつ高精度なソリューションとして提示する。
論文 参考訳(メタデータ) (2020-08-11T17:54:20Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。