論文の概要: An Empirical Study on the Impact of Code Duplication-aware Refactoring Practices on Quality Metrics
- arxiv url: http://arxiv.org/abs/2502.04073v1
- Date: Thu, 06 Feb 2025 13:34:25 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-07 14:33:39.718758
- Title: An Empirical Study on the Impact of Code Duplication-aware Refactoring Practices on Quality Metrics
- Title(参考訳): コード重複を意識したリファクタリング実践が品質指標に及ぼす影響に関する実証的研究
- Authors: Eman Abdullah AlOmar,
- Abstract要約: 128のオープンソースJavaプロジェクトから、日々の変更で開発者が適用し、ドキュメント化した332のコミットのコーパスを抽出します。
我々は、これらの操作が共通の最先端の設計品質指標に与える影響を実証的に分析する。
- 参考スコア(独自算出の注目度): 5.516979718589074
- License:
- Abstract: Context: Code refactoring is widely recognized as an essential software engineering practice that improves the understandability and maintainability of source code. Several studies attempted to detect refactoring activities through mining software repositories, allowing one to collect, analyze, and get actionable data-driven insights about refactoring practices within software projects. Objective: Our goal is to identify, among the various quality models presented in the literature, the ones that align with the developer's vision of eliminating duplicates of code, when they explicitly mention that they refactor the code to improve them. Method: We extract a corpus of 332 refactoring commits applied and documented by developers during their daily changes from 128 open-source Java projects. In particular, we extract 32 structural metrics from which we identify code duplicate removal commits with their corresponding refactoring operations, as perceived by software engineers. Thereafter, we empirically analyze the impact of these refactoring operations on a set of common state-of-the-art design quality metrics. Results: The statistical analysis of the results obtained shows that (i) some state-of-the-art metrics are capable of capturing the developer's intention of removing code duplication; and (ii) some metrics are being more emphasized than others. We confirm that various structural metrics can effectively represent code duplication, leading to different impacts on software quality. Some metrics contribute to improvements, while others may lead to degradation. Conclusion: Most of the mapped metrics associated with the main quality attributes successfully capture developers' intentions for removing code duplicates, as is evident from the commit messages. However, certain metrics do not fully capture these intentions
- Abstract(参考訳): コンテキスト: コードリファクタリングは、ソースコードの理解性と保守性を改善する重要なソフトウェアエンジニアリングプラクティスとして広く認識されています。
いくつかの研究は、ソフトウェアのリポジトリをマイニングすることでリファクタリングのアクティビティを検出し、ソフトウェアプロジェクト内のリファクタリングプラクティスに関する実行可能なデータ駆動の洞察を収集、分析、取得することを試みた。
目的:私たちのゴールは、文献で提示されたさまざまな品質モデルの中で、コードの重複を取り除くという開発者のビジョンに沿ったものを特定することです。
メソッド: オープンソースJavaプロジェクト128の日々の変更において,開発者が適用および文書化した332のリファクタリングコミットのコーパスを抽出する。
特に,ソフトウェア技術者が認識した,コード重複削除コミットとそれに対応するリファクタリング操作を識別する32の構造指標を抽出する。
その後、これらのリファクタリング操作が、一般的な設計品質指標のセットに与える影響を実証的に分析する。
結果: 得られた結果の統計的分析から, 結果が示唆された。
i) 最先端のメトリクスは、コードの重複を取り除くという開発者の意図を捉えることができる。
(ii)他のメトリクスよりも強調されているメトリクスもある。
さまざまな構造的メトリクスがコードの重複を効果的に表現し、ソフトウェアの品質に異なる影響を与えることを確認します。
改善に寄与するメトリクスもあれば、劣化につながるメトリクスもあります。
結論: 主な品質属性に関連するマップされたメトリクスのほとんどは、コミットメッセージから明らかなように、コードの重複を取り除くという開発者の意図をうまく捉えています。
しかし、ある指標はこれらの意図を完全には捉えていない。
関連論文リスト
- Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - Deciphering Refactoring Branch Dynamics in Modern Code Review: An Empirical Study on Qt [5.516979718589074]
本研究の目的は,Refactorブランチの変更に対するレビュープロセスの理解と,このブランチのコードをレビューする場合の開発者が何に関心を持っているかを明らかにすることである。
リファクタリングブランチからのレビューは、コードレビューの観点で解決する時間が非常に少なくなっています。
さらに、開発者意図のドキュメンテーションは、他のブランチと比べて、Refactorブランチ内では特に少ない。
論文 参考訳(メタデータ) (2024-10-07T01:18:56Z) - Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - DOCE: Finding the Sweet Spot for Execution-Based Code Generation [69.5305729627198]
本稿では,候補生成,$n$-best再ランク,最小ベイズリスク(MBR)復号化,自己老化などを含む包括的フレームワークを提案する。
本研究は,実行ベースメソッドの重要性と,実行ベースメソッドと実行フリーメソッドとの差を明らかにする。
論文 参考訳(メタデータ) (2024-08-25T07:10:36Z) - 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) - Insights into Deep Learning Refactoring: Bridging the Gap Between Practices and Expectations [13.084553746852382]
ディープラーニングソフトウェアは、ソフトウェアが進化するにつれて、徐々に複雑になってきています。
ディープラーニングの文脈におけるコードの洞察はまだ不明だ。
関連ツールの研究と開発は、プロジェクトの保守性とコード品質を改善するために不可欠である。
論文 参考訳(メタデータ) (2024-05-08T07:35:14Z) - State of Refactoring Adoption: Better Understanding Developer Perception
of Refactoring [5.516979718589074]
ソフトウェアライフサイクルにおける開発者の活動の文書化方法について検討する。
このようなアクティビティを自己確認リファクタリング(Self-Affirmed Refactoring, SAR)と呼びます。
本稿では,コミットが開発者関連のイベントを記述しているかどうかを,共通品質改善カテゴリに従って分類するアプローチを提案する。
論文 参考訳(メタデータ) (2023-06-09T16:38:20Z) - Do code refactorings influence the merge effort? [80.1936417993664]
複数のコントリビュータがソースコードを並行して変更して,新機能の実装やバグの修正,既存のコードの変更などを行っている。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
研究によると、すべてのマージの試みの10~20%が衝突を起こしており、これはプロセスを完了するために手動開発者の介入を必要とする。
論文 参考訳(メタデータ) (2023-05-10T13:24:59Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。