論文の概要: Build Code Needs Maintenance Too: A Study on Refactoring and Technical Debt in Build Systems
- arxiv url: http://arxiv.org/abs/2504.01907v1
- Date: Wed, 02 Apr 2025 17:07:38 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-03 13:23:48.550730
- Title: Build Code Needs Maintenance Too: A Study on Refactoring and Technical Debt in Build Systems
- Title(参考訳): ビルドコードのメンテナンスも必要:ビルドシステムのリファクタリングと技術的負債に関する研究
- Authors: Anwar Ghammam, Dhia Elhaq Rzig, Mohamed Almukhtar, Rania Khalsi, Foyzul Hassan, Marouane Kessentini,
- Abstract要約: 現代のソフトウェアエンジニアリングでは、ビルドシステムはソースコードをソフトウェアアーティファクトに変換する上で重要な役割を担います。
最近の研究では、ビルド失敗のハイレベルな原因を調査しているが、ビルドファイルの構造的特性を概ね見落としている。
- 参考スコア(独自算出の注目度): 2.189169499230464
- License:
- Abstract: In modern software engineering, build systems play the crucial role of facilitating the conversion of source code into software artifacts. Recent research has explored high-level causes of build failures, but has largely overlooked the structural properties of build files. Akin to source code, build systems face technical debt challenges that hinder maintenance and optimization. While refactoring is often seen as a key tool for addressing technical debt in source code, there is a significant research gap regarding the specific refactoring changes developers apply to build code and whether these refactorings effectively address technical debt. In this paper, we address this gap by examining refactorings applied to build scripts in open-source projects, covering the widely used build systems of Gradle, Ant, and Maven. Additionally, we investigate whether these refactorings are used to tackle technical debts in build systems. Our analysis was conducted on \totalCommits examined build-file-related commits. We identified \totalRefactoringCategories build-related refactorings, which we divided into \totalCategories main categories. These refactorings are organized into the first empirically derived taxonomy of build system refactorings. Furthermore, we investigate how developers employ these refactoring types to address technical debts via a manual commit-analysis and a developer survey. In this context, we identified \totalTechnicalDebts technical debts addressed by these refactorings and discussed their correlation with the different refactorings. Finally, we introduce BuildRefMiner, an LLM-powered tool leveraging GPT-4o to automate the detection of refactorings within build systems. We evaluated its performance and found that it achieves an F1 score of \toolFoneScore across all build systems.
- Abstract(参考訳): 現代のソフトウェアエンジニアリングでは、ビルドシステムはソースコードをソフトウェアアーティファクトに変換する上で重要な役割を担います。
最近の研究では、ビルド失敗のハイレベルな原因を調査しているが、ビルドファイルの構造的特性を概ね見落としている。
ソースコードと同様に、ビルドシステムは、メンテナンスと最適化を妨げる技術的負債に直面します。
リファクタリングは、しばしば、ソースコードの技術的負債に対処するための重要なツールと見なされるが、開発者がコードを構築するために適用する特定のリファクタリング変更や、これらのリファクタリングが技術的負債に効果的に対処するかどうかに関して、大きな研究のギャップがある。
本稿では、Gradle、Ant、Mavenの広く使われているビルドシステムについて、オープンソースプロジェクトでビルドスクリプトに適用されるリファクタリングを調べて、このギャップに対処する。
さらに、これらのリファクタリングがビルドシステムの技術的負債に取り組むのに使われているかどうかについても検討する。
ビルドファイル関連コミットについて, \totalCommitsを用いて分析を行った。
ビルド関連リファクタリングを \totalRefactoringCategories に分類し,主要なカテゴリに分類した。
これらのリファクタリングは、最初に経験的に派生したビルドシステムリファクタリングの分類にまとめられます。
さらに、開発者がこれらのリファクタリングタイプを使用して、手動のコミット分析と開発者調査を通じて技術的負債に対処する方法についても検討する。
この文脈では、これらのリファクタリングによって対処される技術的負債である \totalTechnicalDebts を特定し、異なるリファクタリングとの相関について議論した。
最後に、ビルドシステム内のリファクタリングの自動検出にGPT-4oを活用するLLMベースのツールであるBuildRefMinerを紹介します。
パフォーマンスを評価した結果,すべてのビルドシステムに対して,F1スコアの‘toolFoneScore’が達成できた。
関連論文リスト
- ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - An Empirical Study on the Impact of Code Duplication-aware Refactoring Practices on Quality Metrics [5.516979718589074]
128のオープンソースJavaプロジェクトから、日々の変更で開発者が適用し、ドキュメント化した332のコミットのコーパスを抽出します。
我々は、これらの操作が共通の最先端の設計品質指標に与える影響を実証的に分析する。
論文 参考訳(メタデータ) (2025-02-06T13:34:25Z) - Testing Refactoring Engine via Historical Bug Report driven LLM [6.852749659993347]
リファクタリングは、外部の振る舞いを変えることなく、既存のコードを再構築するプロセスである。
自動エンジンテストのためのフレームワークであるRETESTERを提案する。
論文 参考訳(メタデータ) (2025-01-16T23:31:49Z) - Specifications: The missing link to making the development of LLM systems an engineering discipline [65.10077876035417]
我々は、構造化出力、プロセスの監督、テストタイム計算など、これまでの分野の進歩について論じる。
モジュール型かつ信頼性の高いLCMシステムの開発に向けた研究の今後の方向性について概説する。
論文 参考訳(メタデータ) (2024-11-25T07:48:31Z) - Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - Insights into Deep Learning Refactoring: Bridging the Gap Between Practices and Expectations [13.084553746852382]
ディープラーニングソフトウェアは、ソフトウェアが進化するにつれて、徐々に複雑になってきています。
ディープラーニングの文脈におけるコードの洞察はまだ不明だ。
関連ツールの研究と開発は、プロジェクトの保守性とコード品質を改善するために不可欠である。
論文 参考訳(メタデータ) (2024-05-08T07:35:14Z) - A Survey of Deep Learning Based Software Refactoring [5.716522445049744]
大量のディープラーニングベースのアプローチがソフトウェアをリファクタリングするために提案されている。
このような作品に関する包括的なレビューや、深層学習に基づくアプローチのための分類の欠如がある。
ディープラーニング技術のほとんどは、コードの臭いの検出やソリューションの推奨に使われてきた。
論文 参考訳(メタデータ) (2024-04-30T03:07:11Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。