ASE docker related research

2024-05-10 16:36
文章标签 docker ase research related

本文主要是介绍ASE docker related research,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ASE 2022 

Understanding and Predicting Docker Build Duration: An Empirical Study of Containerized Workflow of OSS Projects

理解和预测 Docker 构建持续时间:OSS 项目容器化工作流程的实证研究

Docker 构建是容器化工作流程的关键组成部分,它自动执行将源打包并转换为容器映像的过程。如果运行不正常,Docker 构建会带来较长的持续时间(即构建缓慢),从而增加人力和计算资源的成本,从而不可避免地影响软件开发。然而,Docker 构建持续时间成本的现状和补救措施仍不清楚,需要深入研究。为了填补这一空白,本文对 5,833 个开源软件 (OSS) 项目的 171,439 个 Docker 构建进行了首次实证调查。从探索性研究开始,可以在实际项目中描述 Docker 构建持续时间,并通过全面调查获得开发人员对缓慢构建的看法。在探索性研究结果的推动下,我们提出了 Docker 构建持续时间的预测模型,利用来自构建相关上下文和配置的 27 个手工特征以及 8 种回归算法来执行预测任务。我们的结果表明,随机森林模型提供了卓越的性能,Spearman 相关性为 0.781,在 RMSE、MAE 和 MAPE 方面分别优于基线随机模型 82.9%、90.6% 和 94.4%。这项研究的意义将促进研究并帮助从业者改进 Docker 构建过程。

ASE 2021 

Refactorings and Technical Debt in Docker Projects: An Empirical Study 

Docker 项目中的重构和技术债务:实证研究

软件容器,例如 Docker,最近被认为是提供可重用软件工件的主流技术。开发人员可以基于大量公开的可重用 Docker 镜像轻松构建和部署他们的应用程序。因此,当前业界的流行趋势是应用程序的容器化。然而,基于容器的项目会损害不同的组件,包括 Docker 和 Docker-compose 文件,以及组合不同容器并促进与它们交互的源代码的其他几个依赖项。与任何其他复杂系统类似,基于容器的项目很容易出现与不同工件相关的各种质量和技术债务问题:Docker 和 Docker-compose 文件以及常规源代码文件。不幸的是,在基于容器的项目如何实际发展和维护方面存在知识差距。在本文中,我们通过研究重构来解决上述差距,即在开源 Docker 项目中应用的重构,即在保留行为的同时进行结构变化,以及它们缓解的技术债务问题。我们分析了 68 个项目,其中包括 19.5 个 MLOC,以及 193 个手动检查的提交。结果表明,开发人员出于特定于容器的配置、组合和执行的各种原因重构这些 Docker 项目,与现有重构领域相比,导致出现了几种新的技术债务类别和重构类型。例如,减少 Dockerfile 镜像大小的重构、提高 Docker-compose 文件的可扩展性以及定期源代码重构等,主要与 Docker 和 Docker-compose 文件的演变有关。我们还分别引入了 24 个新的 Docker 特定重构和技术债务类别,并定义了不同的最佳实践。这项研究的意义将帮助从业者、工具构建者和教育工作者提高 Docker 项目的质量。

ASE 2018 

RUDSEA: recommending updates of Dockerfiles via software environment analysis

RUDSEA:通过软件环境分析推荐 Dockerfile 更新

Dockerfile是docker镜像的配置文件,它打包了软件的所有依赖项,以方便软件部署和移植。换句话说,dockerfiles 列出了软件应用程序构建和/或执行的所有环境假设,因此当环境假设在快速软件演进过程中发生变化时,它们需要经常更新。在本文中,我们提出了 RUDSEA,这是一种基于分析软件环境假设的变化及其影响向开发人员推荐 dockerfile 更新的新颖方法。我们对 1,199 个实际指令更新的评估表明,RUDSEA 可以为 78.5% 的更新推荐正确的更新位置,并为 44.1% 的更新推荐正确的代码更改。(新思想短论文)

这篇关于ASE docker related research的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976975

相关文章

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启

debian12安装docker的实现步骤

《debian12安装docker的实现步骤》本文主要介绍了debian12安装docker的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录步骤 1:更新你的系统步骤 2:安装依赖项步骤 3:添加 docker 的官方 GPG 密钥步骤

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基