論文の概要: 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 20:40:39.587087
- 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: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- 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の品質を向上させる可能性があることを示している。
関連論文リスト
- Toward Automated Test Generation for Dockerfiles Based on Analysis of Docker Image Layers [1.1879716317856948]
Dockerイメージを構築するプロセスは、Dockerfileと呼ばれるテキストファイルで定義されている。
Dockerfileは、Dockerイメージのビルド方法の指示を含む、一種のソースコードと見なすことができる。
本稿では,Dockerfileの自動テスト生成手法を提案する。
論文 参考訳(メタデータ) (2025-04-25T08:02:46Z) - Paper2Code: Automating Code Generation from Scientific Papers in Machine Learning [57.09163579304332]
機械学習論文を機能コードリポジトリに変換するフレームワークであるPaperCoderを紹介した。
PaperCoderは3つの段階で動作する。計画、図によるシステムアーキテクチャの設計、ファイル依存の特定、構成ファイルの生成である。
次に、モデルベースおよび人的評価の両方に基づいて、機械学習論文からコード実装を生成するPaperCoderを評価する。
論文 参考訳(メタデータ) (2025-04-24T01:57:01Z) - Doctor: Optimizing Container Rebuild Efficiency by Instruction Re-Orchestration [11.027705516378875]
命令の再注文によってDockerfileのビルド効率を改善する方法であるDoctorを提案する。
我々はDockerfileの構文に基づく依存性分類と、頻繁に修正される命令を優先順位付けするための履歴修正分析を開発した。
実験の結果、Doctorは92.75%のDockerfileを改善し、ビルド時間を平均26.5%削減し、ファイルの12.82%が50%以上削減された。
論文 参考訳(メタデータ) (2025-04-02T13:53:35Z) - Thinking Longer, Not Larger: Enhancing Software Engineering Agents via Scaling Test-Time Compute [61.00662702026523]
より大規模なモデルではなく、推論時間の増加を活用する統合されたテスト時間計算スケーリングフレームワークを提案する。
当社のフレームワークには,内部TTCと外部TTCの2つの補完戦略が組み込まれている。
当社の textbf32B モデルは,DeepSeek R1 671B や OpenAI o1 など,はるかに大きなモデルを上回る 46% の課題解決率を実現している。
論文 参考訳(メタデータ) (2025-03-31T07:31:32Z) - An LLM-based Agent for Reliable Docker Environment Configuration [9.436480907117415]
Repo2Runは環境設定を完全に自動化し、任意のPythonリポジトリに対して実行可能なDockerfileを生成するように設計されたエージェントである。
1) LLMエージェントが分離されたDockerコンテナ内の環境を構成できるようにし、(2) 正常な設定プロセスが記録され、エラーなく正確にDockerfileに転送されることを保証する。
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) - Temporal Analysis and Repair of Flaky Dockerfiles [6.518508607788089]
Dockerfileのフレキネスは、Dockerfileやプロジェクトのソースコードの変更なしに、一貫性のないビルド動作によって特徴づけられる。
本稿では、依存性関連エラーやサーバ接続の問題など、一般的なフレキネスカテゴリの包括的分類について述べる。
我々はFrakiDockを紹介した。これは大規模な言語モデルと検索拡張生成技術を利用して、不安定なDockerfileを自動的に修復するツールだ。
論文 参考訳(メタデータ) (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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。