DockerMock: Pre-Build Detection of Dockerfile Faults through Mocking Instruction Execution

04/12/2021
by   Mingjie Li, et al.
0

Continuous Integration (CI) and Continuous Deployment (CD) are widely adopted in software engineering practice. In reality, the CI/CD pipeline execution is not yet reliably continuous because it is often interrupted by Docker build failures. However, the existing trial-and-error practice to detect faults is time-consuming. To timely detect Dockerfile faults, we propose a context-based pre-build analysis approach, named DockerMock, through mocking the execution of common Dockerfile instructions. A Dockerfile fault is declared when an instruction conflicts with the approximated and accumulated running context. By explicitly keeping track of whether the context is fuzzy, DockerMock strikes a good balance of detection precision and recall. We evaluated DockerMock with 53 faults in 41 Dockerfiles from open source projects on GitHub and 130 faults in 105 Dockerfiles from student course projects. On average, DockerMock detected 68.0 6.5 the GitHub dataset, DockerMock reduces the number of builds to 47, outperforming that of hadolint (73) and BuildKit (74).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/16/2023

Improving Spectrum-Based Localization of Multiple Faults by Iterative Test Suite Reduction

Spectrum-based fault localization (SBFL) works well for single-fault pro...
research
05/14/2020

Identifying Bugs in Make and JVM-Oriented Builds

Incremental and parallel builds are crucial features of modern build sys...
research
09/18/2020

Towards the Systematic Testing of Virtual Reality Programs (extended version)

Software testing is a critical activity to ensure that software complies...
research
03/15/2019

BugSwarm: Mining and Continuously Growing a Dataset of Reproducible Failures and Fixes

Fault-detection, localization, and repair methods are vital to software ...
research
10/13/2021

Detection Software Content Failures Using Dynamic Execution Information

Modern software systems become too complex to be tested and validated. D...
research
08/02/2022

SCFI: State Machine Control-Flow Hardening Against Fault Attacks

Fault injection (FI) is a powerful attack methodology allowing an advers...
research
10/03/2017

BodyDigitizer: An Open Source Photogrammetry-based 3D Body Scanner

With the rising popularity of Augmented and Virtual Reality, there is a ...

Please sign up or login with your details

Forgot password? Click here to reset