論文の概要: Relating Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Requirements: A Replication Study
- arxiv url: http://arxiv.org/abs/2505.08016v1
- Date: Mon, 12 May 2025 19:26:33 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-05-14 20:57:54.316073
- Title: Relating Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Requirements: A Replication Study
- Title(参考訳): 複雑度, 明示性, リファクタリングの有効性, 非Functional Requirement: Replication Study
- Authors: Vinícius Soares, Lawrence Arkoh, Paulo Roberto Farah, Anderson Uchôa, Alessandro Garcia, Wesley K. G. Assunção,
- Abstract要約: 自己確認(Self-affirmed、SAR)とは、開発者が要求を単純化する意図を明確に述べる場所である。
本研究は、プロジェクト数と検証済みインスタンスのセットを2倍にすることで、Soaresらの研究の範囲を広げた。
開発者が明示的に意図を述べると、結果として得られる変更は一般的に異なる型の組み合わせを伴い、より複雑なものになります。
- 参考スコア(独自算出の注目度): 39.82126443893643
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Refactoring is a practice widely adopted during software maintenance and evolution. Due to its importance, there is extensive work on the effectiveness of refactoring in achieving code quality. However, developer's intentions are usually overlooked. A more recent area of study involves the concept of self-affirmed refactoring (SAR), where developers explicitly state their intent to refactor. While studies on SAR have made valuable contributions, they provide little insights into refactoring complexity and effectiveness, as well as the refactorings' relations to specific non-functional requirements. A study by Soares et al. addressed such aspects, but it relied on a quite small sample of studied subject systems and refactoring instances. Following the empirical method of replication, we expanded the scope of Soares et al.'s study by doubling the number of projects analyzed and a significantly larger set of validated refactorings (8,408). Our findings only partially align with the original study. We observed that when developers explicitly state their refactoring intent, the resulting changes typically involve a combination of different refactoring types, making them more complex. Additionally, we confirmed that such complex refactorings positively impact code's internal quality attributes. While refactorings aimed at non-functional requirements tend to improve code quality, our findings only partially align with the original study and contradict it in several ways. Notably, SARs often result in fewer negative impacts on internal quality attributes despite their frequent complexity. These insights suggest the importance of simplifying refactorings where possible and explicitly stating their goals, as clear intent helps shape more effective and targeted refactoring strategies.
- Abstract(参考訳): リファクタリングは、ソフトウェアのメンテナンスと進化の間に広く採用されているプラクティスです。
その重要性から、コード品質を達成する上でリファクタリングの有効性について広範な研究がなされている。
しかし、開発者の意図は通常見過ごされる。
より最近の研究領域では、開発者がリファクタリングの意図を明確に述べる自己確認リファクタリング(SAR)の概念が採用されている。
SARの研究は貴重な貢献をしているが、リファクタリングの複雑さと効率性、および特定の非機能要件との関係についてはほとんど洞察を提供していない。
Soaresらによる研究はそのような側面に対処したが、研究対象のシステムとリファクタリングインスタンスのごく小さなサンプルに依存していた。
実証的な複製法に従って、分析したプロジェクトの数を2倍にし、検証済みのリファクタリング(8,408件)をかなり大きくすることで、Soaresらの研究の範囲を広げた。我々の発見は、元の研究と部分的に一致している。開発者がリファクタリングの意図を明示的に記述すると、その結果の変更は通常、さまざまなリファクタリングタイプを組み合わせることで、より複雑になる。さらに、そのような複雑なリファクタリングがコードの内部品質特性に肯定的な影響を与えることも確認した。
非機能要件を対象としたリファクタリングはコード品質を改善する傾向がありますが、私たちの発見は元の研究と部分的に一致し、いくつかの点で矛盾しています。
特に、SARは、しばしば複雑さにもかかわらず、内部品質特性に悪影響を及ぼす。
これらの洞察は、明確な意図がより効果的で目標とするリファクタリング戦略を形成するのに役立つため、可能な限りリファクタリングを単純化し、目標を明確に述べることが重要であることを示唆している。
関連論文リスト
- Assessing the Bug-Proneness of Refactored Code: A Longitudinal Multi-Project Study [43.65862440745159]
リファクタリングはソフトウェア開発で一般的なプラクティスで、内部のコード構造を改善して、理解と修正を容易にすることを目的としています。
しばしば、コードがバグに弱いと仮定される。
しかし、実際には複雑なタスクであり、異なる方法で適用されている。そのため、不注意にもコードをバグに陥れやすいものにすることができる。
論文 参考訳(メタデータ) (2025-05-12T19:12:30Z) - Automated Refactoring of Non-Idiomatic Python Code: A Differentiated Replication with LLMs [54.309127753635366]
本研究は, GPT-4の有効性について検討し, 慣用行動の推奨と示唆について検討した。
この結果から,従来は複雑なコード解析に基づくレコメンデータの実装が求められていた,LCMの課題達成の可能性が浮き彫りになった。
論文 参考訳(メタデータ) (2025-01-28T15:41:54Z) - Insights into Deep Learning Refactoring: Bridging the Gap Between Practices and Expectations [13.084553746852382]
ディープラーニングソフトウェアは、ソフトウェアが進化するにつれて、徐々に複雑になってきています。
ディープラーニングの文脈におけるコードの洞察はまだ不明だ。
関連ツールの研究と開発は、プロジェクトの保守性とコード品質を改善するために不可欠である。
論文 参考訳(メタデータ) (2024-05-08T07:35:14Z) - Automating Source Code Refactoring in the Classroom [15.194527511076725]
本稿では,アンチパターン検出と修正をサポートするEclipseプラグインであるJandanrantを用いて,アンチパターンの除去を目的とした各種教室活動の実施に関する実験結果について述べる。
171人の学生による定量的・質的分析の結果、学生は学習の考え方を高く評価し、JDeodorantプラグインの動作の様々な側面に満足していることが示された。
論文 参考訳(メタデータ) (2023-11-05T18:46:00Z) - Self-RAG: Learning to Retrieve, Generate, and Critique through
Self-Reflection [74.51523859064802]
我々は、自己回帰検索拡張生成(Self-RAG)と呼ばれる新しいフレームワークを導入する。
自己RAGは、検索と自己回帰によってLMの品質と事実性を高める。
様々なタスクセットにおいて、最先端のLCMや検索強化モデルよりも大幅に優れています。
論文 参考訳(メタデータ) (2023-10-17T18:18:32Z) - State of Refactoring Adoption: Better Understanding Developer Perception
of Refactoring [5.516979718589074]
ソフトウェアライフサイクルにおける開発者の活動の文書化方法について検討する。
このようなアクティビティを自己確認リファクタリング(Self-Affirmed Refactoring, SAR)と呼びます。
本稿では,コミットが開発者関連のイベントを記述しているかどうかを,共通品質改善カテゴリに従って分類するアプローチを提案する。
論文 参考訳(メタデータ) (2023-06-09T16:38:20Z) - RefBERT: A Two-Stage Pre-trained Framework for Automatic Rename
Refactoring [57.8069006460087]
本研究では,他のリネーム活動よりも難易度の高い変数名の自動改名について検討する。
変数名に対する名前変更のための2段階事前訓練フレームワークであるRefBERTを提案する。
RefBERTの変数名は既存の手法よりも正確で有意義であることを示す。
論文 参考訳(メタデータ) (2023-05-28T12:29:39Z) - Do code refactorings influence the merge effort? [80.1936417993664]
複数のコントリビュータがソースコードを並行して変更して,新機能の実装やバグの修正,既存のコードの変更などを行っている。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
研究によると、すべてのマージの試みの10~20%が衝突を起こしており、これはプロセスを完了するために手動開発者の介入を必要とする。
論文 参考訳(メタデータ) (2023-05-10T13:24:59Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。