論文の概要: Do code refactorings influence the merge effort?
- arxiv url: http://arxiv.org/abs/2305.06129v1
- Date: Wed, 10 May 2023 13:24:59 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 09:02:55.972728
- Title: Do code refactorings influence the merge effort?
- Title(参考訳): コードリファクタリングはマージ作業に影響を与えるか?
- Authors: Andre Oliveira, Vania Neves, Alexandre Plastino, Ana Carla Bibiano,
Alessandro Garcia, Leonardo Murta
- Abstract要約: 複数のコントリビュータがソースコードを並行して変更して,新機能の実装やバグの修正,既存のコードの変更などを行っている。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
研究によると、すべてのマージの試みの10~20%が衝突を起こしており、これはプロセスを完了するために手動開発者の介入を必要とする。
- 参考スコア(独自算出の注目度): 80.1936417993664
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: In collaborative software development, multiple contributors frequently
change the source code in parallel to implement new features, fix bugs,
refactor existing code, and make other changes. These simultaneous changes need
to be merged into the same version of the source code. However, the merge
operation can fail, and developer intervention is required to resolve the
conflicts. Studies in the literature show that 10 to 20 percent of all merge
attempts result in conflicts, which require the manual developer's intervention
to complete the process. In this paper, we concern about a specific type of
change that affects the structure of the source code and has the potential to
increase the merge effort: code refactorings. We analyze the relationship
between the occurrence of refactorings and the merge effort. To do so, we
applied a data mining technique called association rule extraction to find
patterns of behavior that allow us to analyze the influence of refactorings on
the merge effort. Our experiments extracted association rules from 40,248 merge
commits that occurred in 28 popular open-source projects. The results indicate
that: (i) the occurrence of refactorings increases the chances of having merge
effort; (ii) the more refactorings, the greater the chances of effort; (iii)
the more refactorings, the greater the effort; and (iv) parallel refactorings
increase even more the chances of having effort, as well as the intensity of
it. The results obtained may suggest behavioral changes in the way refactorings
are implemented by developer teams. In addition, they can indicate possible
ways to improve tools that support code merging and those that recommend
refactorings, considering the number of refactorings and merge effort
attributes.
- Abstract(参考訳): 共同ソフトウェア開発では、複数のコントリビュータがソースコードを並行して変更し、新機能を実装し、バグを修正し、既存のコードをリファクタリングし、他の変更を加える。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
しかしマージ操作は失敗する可能性があり、コンフリクトを解決するには開発者による介入が必要である。
文献の研究によると、マージの試みの10%から20%は、プロセスを完成させるために手動開発者による介入を必要とする衝突を引き起こす。
本稿では、ソースコードの構造に影響を与え、マージの労力を増加させる可能性のある、特定のタイプの変更について懸念する。
リファクタリングの発生とマージ作業の関係を分析します。
そこで我々は,アソシエーションルール抽出と呼ばれるデータマイニング手法を適用し,リファクタリングがマージ作業に与える影響を分析するための行動パターンの探索を行った。
実験では,28のオープンソースプロジェクトで発生した40,248件のマージコミットから関連ルールを抽出した。
結果は次のように示しています。
(i)リファクタリングの発生は、マージ努力の機会を増加させる。
(ii)リファクタリングが多ければ多いほど、努力の機会が増えます。
(iii)リファクタリングが多ければ多いほど、努力は大きくなる。
(iv)並列リファクタリングは、努力の機会を増すだけでなく、その強度も増す。
得られた結果は、開発者チームによるリファクタリングの実装方法の振る舞いの変化を示唆するかもしれない。
さらに、コードのマージをサポートするツールとリファクタリングを推奨するツールの改善方法を示すこともできる。
関連論文リスト
- An Empirical Study on the Potential of LLMs in Automated Software Refactoring [9.157968996300417]
自動ソフトウェアにおける大規模言語モデル(LLM)の可能性について検討する。
私たちは、ChatGPTが提案した176のソリューションのうち13と、Geminiが提案した137のソリューションのうち9が、ソースコードの機能を変更したり、構文エラーを導入したりすることを安全でないことに気付きました。
論文 参考訳(メタデータ) (2024-11-07T05:35:55Z) - An Empirical Study on the Code Refactoring Capability of Large Language Models [0.5852077003870416]
この研究は、30のオープンソースプロジェクトにわたるコードにおいて、コード生成に最適化されたLLMであるStarCoder2を実証的に評価する。
我々は,(1)コード品質の改善,(2)臭いの型と有効性,(3)ワンショットとチェーン・オブ・シークレットのプロンプトによる改善に焦点を当て,StarCoder2のパフォーマンスを人間開発者と比較した。
論文 参考訳(メタデータ) (2024-11-04T17:46:20Z) - In Search of Metrics to Guide Developer-Based Refactoring Recommendations [13.063733696956678]
モチベーションは、外部の振る舞いを損なうことなく、ソースコードの品質を改善するための確立されたアプローチである。
本研究では,開発者の運用意欲を調査する指標に関する実証的研究を提案する。
実行すべき開発者のモチベーションを把握する上で、製品とプロセスのメトリクスの価値を定量化します。
論文 参考訳(メタデータ) (2024-07-25T16:32:35Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - 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) - State of Refactoring Adoption: Better Understanding Developer Perception
of Refactoring [5.516979718589074]
ソフトウェアライフサイクルにおける開発者の活動の文書化方法について検討する。
このようなアクティビティを自己確認リファクタリング(Self-Affirmed Refactoring, SAR)と呼びます。
本稿では,コミットが開発者関連のイベントを記述しているかどうかを,共通品質改善カテゴリに従って分類するアプローチを提案する。
論文 参考訳(メタデータ) (2023-06-09T16:38:20Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - RefBERT: A Two-Stage Pre-trained Framework for Automatic Rename
Refactoring [57.8069006460087]
本研究では,他のリネーム活動よりも難易度の高い変数名の自動改名について検討する。
変数名に対する名前変更のための2段階事前訓練フレームワークであるRefBERTを提案する。
RefBERTの変数名は既存の手法よりも正確で有意義であることを示す。
論文 参考訳(メタデータ) (2023-05-28T12:29:39Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - How We Refactor and How We Document it? On the Use of Supervised Machine
Learning Algorithms to Classify Refactoring Documentation [25.626914797750487]
リファクタリングは、外部の振る舞いを変えることなく、システムの設計を改善する技術である。
この研究はコミットを、従来のBugFixやFunctionalのカテゴリとともに、内部QA、外部QA、Code Smell Resolutionの3つのカテゴリに分類する。
分類結果をよりよく理解するために、私たちはコミットメッセージを分析して、開発者が定期的に臭いを説明するために使用するパターンを抽出しました。
論文 参考訳(メタデータ) (2020-10-26T20:33:17Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。