論文の概要: Refactoring for Dockerfile Quality: A Dive into Developer Practices and Automation Potential
- arxiv url: http://arxiv.org/abs/2501.14131v1
- Date: Thu, 23 Jan 2025 23:10:47 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-27 14:57:50.373266
- Title: Refactoring for Dockerfile Quality: A Dive into Developer Practices and Automation Potential
- Title(参考訳): Dockerfileの品質をリファクタリングする - 開発者の実践と自動化の可能性
- Authors: Emna Ksontini, Meriem Mastouri, Rania Khalsi, Wael Kessentini,
- Abstract要約: 本稿では,358のオープンソースプロジェクトの600fileを使用したDockerfileの自動化の有用性と実用性について検討する。
提案手法では,画像サイズが平均32%減少し,ビルド期間が6%減少し,77%,91%の症例で理解性と保守性が向上した。
- 参考スコア(独自算出の注目度): 0.0
- License:
- Abstract: Docker, the industry standard for packaging and deploying applications, leverages Infrastructure as Code (IaC) principles to facilitate the creation of images through Dockerfiles. However, maintaining Dockerfiles presents significant challenges. Refactoring, in particular, is often a manual and complex process. This paper explores the utility and practicality of automating Dockerfile refactoring using 600 Dockerfiles from 358 open-source projects. Our study reveals that Dockerfile image size and build duration tend to increase as projects evolve, with developers often postponing refactoring efforts until later stages in the development cycle. This trend motivates the automation of refactoring. To achieve this, we leverage In Context Learning (ICL) along with a score-based demonstration selection strategy. Our approach leads to an average reduction of 32% in image size and a 6% decrease in build duration, with improvements in understandability and maintainability observed in 77% and 91% of cases, respectively. Additionally, our analysis shows that automated refactoring reduces Dockerfile image size by 2x compared to manual refactoring and 10x compared to smell-fixing tools like PARFUM. This work establishes a foundation for automating Dockerfile refactoring, indicating that such automation could become a standard practice within CI/CD pipelines to enhance Dockerfile quality throughout every step of the software development lifecycle.
- Abstract(参考訳): アプリケーションのパッケージングとデプロイの業界標準であるDockerは、Infrastructure as Code(IaC)の原則を活用して、Dockerfileによるイメージ生成を容易にする。
しかし、Dockerfilesのメンテナンスには大きな課題がある。
特にリファクタリングは手動で複雑なプロセスであることが多い。
本稿では,358のオープンソースプロジェクトから600のDockerfileを使用して,Dockerfileのリファクタリングを自動化することの有用性と実用性について検討する。
私たちの調査によると、Dockerfileのイメージサイズとビルド期間は、プロジェクトが進化するにつれて増加する傾向にあり、開発者は開発サイクルの後半までリファクタリング作業を延期することが多い。
この傾向はリファクタリングの自動化を動機付けます。
これを実現するために、スコアベースのデモ選択戦略とともに、In Context Learning(ICL)を利用する。
提案手法では,画像サイズが平均32%減少し,ビルド期間が6%減少し,それぞれ77%,91%の症例で可視性と保守性が改善された。
さらに、自動リファクタリングは、手動リファクタリングと比較してDockerfileのイメージサイズを2倍削減し、PARFUMのようなニオイ修正ツールに比べて10倍削減することを示す。
この作業はDockerfileのリファクタリングを自動化する基盤を確立し、そのような自動化がCI/CDパイプライン内の標準プラクティスになり、ソフトウェア開発ライフサイクルのすべてのステップでDockerfileの品質を向上させる可能性があることを示している。
関連論文リスト
- An LLM-based Agent for Reliable Docker Environment Configuration [9.436480907117415]
環境設定を完全に自動化し、任意のPythonリポジトリに対して実行可能なDockerfileを生成するように設計された、最初のLLMベースのエージェントであるRepo2Runを紹介します。
本稿では,環境汚染防止のためのロールバック機構を備えたデュアル環境アーキテクチャを特徴とする原子構成合成を提案する。
Repo2Runonが提案した420のPythonレポジトリとユニットテストのベンチマークを評価し、86.4%の成功率で、ベースラインを63.9%上回った。
論文 参考訳(メタデータ) (2025-02-19T12:51:35Z) - Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - The Hidden Costs of Automation: An Empirical Study on GitHub Actions Workflow Maintenance [45.53834452021771]
GitHub Actions(GA)は、エンジニアリングタスクの自動実行を合理化するオーケストレーションプラットフォームである。
欠陥の修正、依存関係の更新、あるいは既存のワークフローファイルの修正には、人間の介入が必要である。
論文 参考訳(メタデータ) (2024-09-04T01:33:16Z) - Dockerfile Flakiness: Characterization and Repair [6.518508607788089]
Dockerfileのフレキネスに関する最初の包括的な研究で、Docker化された8,132のプロジェクトの9ヶ月にわたる分析を特徴としている。
本稿では,依存性エラーやサーバ接続の問題など,一般的なフラキネスの原因を分類する分類法を提案する。
静的および動的解析,類似性検索,および大規模言語モデルを用いた反復的フィードバックループを組み合わせた新しい修復フレームワークであるFLAKIDOCKを紹介する。
論文 参考訳(メタデータ) (2024-08-09T23:17:56Z) - Leveraging Large Language Models for Efficient Failure Analysis in Game Development [47.618236610219554]
本稿では,テストの失敗の原因となるコードの変更を自動的に識別する手法を提案する。
このメソッドは、LLM(Large Language Models)を利用して、エラーメッセージと対応するコード変更を関連付ける。
当社のアプローチは新たに作成したデータセットで71%の精度に達しています。
論文 参考訳(メタデータ) (2024-06-11T09:21:50Z) - Patterns of Multi-Container Composition for Service Orchestration with Docker Compose [5.1861106408299635]
この作業は、Docker Composeを複数のサービスコンテナを実行するオーケストレーションツールとして使用する、成功したプロジェクトのデータセットをキュレートする。
データと分析の収集により、反復するマルチコンテナ構成パターンの識別と命名が可能になる。
これらのパターンは、ソフトウェアシステムが現実世界でどのようにオーケストレーションされているかを強調し、独自のサービスオーケストレーションを構築したい人なら誰でも例を挙げることができる。
論文 参考訳(メタデータ) (2023-05-18T20:32:58Z) - Do code refactorings influence the merge effort? [80.1936417993664]
複数のコントリビュータがソースコードを並行して変更して,新機能の実装やバグの修正,既存のコードの変更などを行っている。
これらの同時変更は、ソースコードの同じバージョンにマージする必要がある。
研究によると、すべてのマージの試みの10~20%が衝突を起こしており、これはプロセスを完了するために手動開発者の介入を必要とする。
論文 参考訳(メタデータ) (2023-05-10T13:24:59Z) - DRIVE: Dockerfile Rule Mining and Violation Detection [6.510749313511299]
DockerfileはDockerイメージを構築するための一連の命令を定義し、コンテナ化されたアプリケーションをサポートするためにインスタンス化することができる。
最近の研究は、Dockerfileのかなりの品質問題を明らかにしている。
我々は、暗黙のルールをマイニングし、Dockerfileでそのようなルールの潜在的な違反を検出する新しいアプローチを提案する。
論文 参考訳(メタデータ) (2022-12-12T01:15:30Z) - CLUTR: Curriculum Learning via Unsupervised Task Representation Learning [130.79246770546413]
CLUTRは、タスク表現とカリキュラム学習を2段階最適化に分離する、新しいカリキュラム学習アルゴリズムである。
CLUTRは、CarRacingとナビゲーション環境における一般化とサンプル効率の観点から、原則的かつ一般的なUED手法であるPAIREDよりも優れていることを示す。
論文 参考訳(メタデータ) (2022-10-19T01:45:29Z) - Studying the Practices of Deploying Machine Learning Projects on Docker [9.979005459305117]
Dockerはコンテナ化サービスであり、Webサイト、データベース、アプリケーションのAPI、機械学習(ML)モデルを数行のコードで簡単にデプロイできる。
私たちは、MLベースのプロジェクトのデプロイにDockerがどのように使用されているのかを理解するために、探索的な調査を実施しました。
論文 参考訳(メタデータ) (2022-06-01T18:13:30Z) - Retrieval Augmented Classification for Long-Tail Visual Recognition [143.2716893535358]
本稿では,標準画像分類パイプラインを明示的な検索モジュールで拡張するための汎用的なアプローチであるRetrieval Augmented Classification (RAC)を紹介する。
RACは、標準のベースイメージエンコーダと並列検索ブランチを融合し、プリエンコードされた画像と関連するテキストスニペットの非パラメトリック外部メモリをクエリする。
我々は、RACの検索モジュールが、プロンプトなしで、テールクラスで高いレベルの精度で学習できることを実証した。
論文 参考訳(メタデータ) (2022-02-22T23:40:51Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。