English
Related papers

Related papers: DockerMock: Pre-Build Detection of Dockerfile Faul…

200 papers

Mocking is a common unit testing technique that is used to simplify tests, reduce flakiness, and improve coverage by replacing real dependencies with simplified implementations. Despite its widespread use in Open Source Software projects,…

Software Engineering · Computer Science 2025-07-01 Mumtahina Ahmed , Md Nahidul Islam Opu , Chanchal Roy , Sujana Islam Suhi , Shaiful Chowdhury

Docker is a tool for lightweight OS-level virtualization. Docker images are created by performing a build, controlled by a source-level artifact called a Dockerfile. We studied Dockerfiles on GitHub, and -- to our great surprise -- found…

Software Engineering · Computer Science 2021-03-04 Jordan Henkel , Denini Silva , Leopoldo Teixeira , Marcelo d'Amorim , Thomas Reps

Dockerfile flakiness-unpredictable temporal build failures caused by external dependencies and evolving environments-undermines deployment reliability and increases debugging overhead. Unlike traditional Dockerfile issues, flakiness occurs…

Software Engineering · Computer Science 2025-02-13 Taha Shabani , Noor Nashid , Parsa Alian , Ali Mesbah

Background. Containerization technologies are widely adopted in the DevOps workflow. The most commonly used one is Docker, which requires developers to define a specification file (Dockerfile) to build the image used for creating…

Software Engineering · Computer Science 2022-08-22 Giovanni Rosa , Simone Scalabrino , Rocco Oliveto

Reproducible container builds promise a simple integrity check for software supply chains: rebuild an image from its Dockerfile and compare hashes. We build a Docker measurement pipeline and apply it to a stratified sample of 2,000 GitHub…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-23 Oreofe Solarin

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…

Software Engineering · Computer Science 2025-01-27 Emna Ksontini , Meriem Mastouri , Rania Khalsi , Wael Kessentini

Containerization has revolutionized software deployment, with Docker leading the way due to its ease of use and consistent runtime environment. As Docker usage grows, optimizing Dockerfile performance, particularly by reducing rebuild time,…

Software Engineering · Computer Science 2025-04-03 Zhiling Zhu , Tieming Chen , Chengwei Liu , Han Liu , Qijie Song , Zhengzi Xu , Yang Liu

Incremental and parallel builds performed by build tools such as Make are the heart of modern C/C++ software projects. Their correct and efficient execution depends on build scripts. However, build scripts are prone to errors. The most…

Software Engineering · Computer Science 2024-04-29 Jun Lyu , Shanshan Li , He Zhang , Yang Zhang , Guoping Rong , Manuel Rigger

A Dockerfile defines a set of instructions to build Docker images, which can then be instantiated to support containerized applications. Recent studies have revealed a considerable amount of quality issues with Dockerfiles. In this paper,…

Software Engineering · Computer Science 2023-07-27 Yu Zhou , Weilin Zhan , Zi Li , Tingting Han , Taolue Chen , Harald Gall

Mocking allows testing program units in isolation. A developer who writes tests with mocks faces two challenges: design realistic interactions between a unit and its environment; and understand the expected impact of these interactions on…

Software Engineering · Computer Science 2024-09-17 Deepika Tiwari , Martin Monperrus , Benoit Baudry

Docker is becoming ubiquitous with containerization for developing and deploying applications. Previous studies have analyzed Dockerfiles that are used to create container images in order to better understand how to improve Docker tooling.…

Software Engineering · Computer Science 2021-03-24 Kalvin Eng , Abram Hindle

Docker allows for the packaging of applications and dependencies, and its instructions are described in Dockerfiles. Nowadays, version pinning is recommended to avoid unexpected changes in the latest version of a package. However, version…

Software Engineering · Computer Science 2023-05-08 Takeru Tanaka , Hideaki Hata , Bodin Chinthanet , Raula Gaikovina Kula , Kenichi Matsumoto

With the growing use of DevOps tools and frameworks, there is an increased need for tools and techniques that support more than code. The current state-of-the-art in static developer assistance for tools like Docker is limited to shallow…

Software Engineering · Computer Science 2020-02-11 Jordan Henkel , Christian Bird , Shuvendu K. Lahiri , Thomas Reps

The reproducibility of software environments is a critical concern in modern software engineering, with ramifications ranging from the effectiveness of collaboration workflows to software supply chain security and scientific…

Software Engineering · Computer Science 2026-01-21 Julien Malka , Stefano Zacchiroli , Théo Zimmermann

Comments within source code are essential for developers to comprehend the code's purpose and ensure its correct usage. However, as codebases evolve, maintaining an accurate alignment between the comments and the code becomes increasingly…

Software Engineering · Computer Science 2024-02-06 Anh T. V. Dau , Jin L. C. Guo , Nghi D. Q. Bui

In the challenging field of introductory programming, high enrollments and failure rates drive us to explore tools and systems to enhance student outcomes, especially automated tools that scale to large cohorts. This paper presents and…

Software Engineering · Computer Science 2023-10-17 Andrew Taylor , Alexandra Vassar , Jake Renzella , Hammond Pearce

Continuous Integration (CI) is widely used to provide rapid feedback on code changes; however, CI build outcomes are not always reliable. Builds may fail intermittently due to non-deterministic factors, leading to flaky builds that…

Software Engineering · Computer Science 2026-02-03 Wenhao Ge , Chen Zhang

Recent progress in automated repair of performance bugs demands realistic, executable benchmarks. However, existing C++ performance benchmarks are largely built from competitive programming submissions, and recent real-world benchmarks…

Software Engineering · Computer Science 2026-05-12 Tommy Ho , Khashayar Etemadi , Zhendong Su

Compiler error messages serve as an initial resource for programmers dealing with compilation errors. However, previous studies indicate that they often lack sufficient targeted information to resolve code issues. Consequently, programmers…

Software Engineering · Computer Science 2023-07-21 Patricia Widjojo , Christoph Treude

Containerization allows developers to define the execution environment in which their software needs to be installed. Docker is the leading platform in this field, and developers that use it are required to write a Dockerfile for their…

Software Engineering · Computer Science 2023-03-29 Giovanni Rosa , Antonio Mastropaolo , Simone Scalabrino , Gabriele Bavota , Rocco Oliveto
‹ Prev 1 2 3 10 Next ›