論文の概要: 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の品質を向上させる可能性があることを示している。
関連論文リスト
- Architecture-Aware Multi-Design Generation for Repository-Level Feature Addition [53.50448142467294]
RAIMは、リポジトリレベルの機能追加のための、多設計およびアーキテクチャ対応のフレームワークである。
複数の多様な実装設計を生成することで、線形パッチから切り離される。
NoCode-bench Verifiedデータセットの実験では、RAIMが新しい最先端のパフォーマンスを確立することが示されている。
論文 参考訳(メタデータ) (2026-03-02T12:50:40Z) - SWE-World: Building Software Engineering Agents in Docker-Free Environments [91.17484806743641]
SWE-Worldは、物理的な実行環境を、ソフトウェアエンジニアリングエージェントのトレーニングと評価のための学習的なサロゲートに置き換える、Dockerフリーのフレームワークである。
我々は,SWE-WorldがQwen2.5-Coder-32Bを,DockerフリーのSFTで6.2%から52.0%,DockerフリーのRLで55.0%,さらにTSで68.2%に引き上げたことを示す。
論文 参考訳(メタデータ) (2026-02-03T11:44:39Z) - It's Not Just Timestamps: A Study on Docker Reproducibility [0.3553493344868413]
Dockerの測定パイプラインを構築して,Dockerfileを含む2,000のGitHubリポジトリのサンプルに適用します。
構築可能なイメージは56%に過ぎず、2.7%はインフラストラクチャの設定なしでビット単位で再現可能である。
これらのパターンから具体的なDockerfileガイドラインを導き、再現可能なコンテナに対する将来のlinterとContinuous Integration(CI)チェックを通知する方法について説明します。
論文 参考訳(メタデータ) (2026-02-03T00:26:53Z) - Docker Does Not Guarantee Reproducibility [8.363502352389188]
Dockerのようなコンテナ技術は、ソフトウェア環境をイメージとして知られる共有可能なスナップショットにカプセル化することで、この問題に対処する。
Dockerは理論的に可能なツールとして文献にしばしば引用されているが、その保証と実用上の制限の程度は未調査のままである。
まず、Dockerが文学に関する科学的談話にどのように組み込まれているかを調べるために、系統的なレビューを実施します。
次に、GitHubから収集された5298のDockerfileに関する大規模な実証的研究を行った。
論文 参考訳(メタデータ) (2026-01-19T08:16:43Z) - ABC-Bench: Benchmarking Agentic Backend Coding in Real-World Development [72.4729759618632]
本稿では,現実的かつ実行可能なワークフロー内でエージェントバックエンドコーディングを評価するベンチマークであるABC-Benchを紹介する。
オープンソースリポジトリから8つの言語と19のフレームワークにまたがる224の実践的なタスクをキュレートしました。
我々の評価は、最先端モデルでさえ、これらの総合的なタスクに対して信頼性の高いパフォーマンスを提供するのに苦労していることを示している。
論文 参考訳(メタデータ) (2026-01-16T08:23:52Z) - PIPer: On-Device Environment Setup via Online Reinforcement Learning [74.52354321028493]
自動化された環境設定メソッドは、任意のリポジトリに対して、手作業なしで完全に構成された環境を提供することで、開発者を支援することができる。
近年の研究では、最先端のLarge Language Models (LLMs) でさえ、このタスクの自動化に限られた成功をおさめていることが明らかになっている。
我々は、正しいスクリプトを生成するための教師付き微調整と、環境設定のタスクに適応するために、Reinforcement Learning with Verifiable Rewards(RLVR)を組み合わせる。
EnvBench-Python では,より大型の Qwen3-32B や GPT-4 と同等に動作可能な Qwen3-8B (コンシューマハードウェア上で動作可能なモデル) を実現する。
論文 参考訳(メタデータ) (2025-09-29T20:03:05Z) - Bugs in the Shadows: Static Detection of Faulty Python Refactorings [44.115219601924856]
Pythonの動的型システムは、自動コード変換に重大な課題をもたらす。
分析の結果,合計1,152回の試行の結果,4種類の29のバグが判明した。
これらの結果は、自動コード変換の正確性を保証するために、現在のPythonツールの堅牢性を改善する必要性を強調している。
論文 参考訳(メタデータ) (2025-07-01T18:03:56Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。