Shipwright: A Human-in-the-Loop System for Dockerfile RepairTechnical Track
Fri 28 May 2021 09:10 - 09:30 at Blended Sessions Room 2 - 3.6.2. Program Repair: General Issues
Docker is a tool for lightweight virtualization through images and containers. 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 that over a quarter of the examined Dockerfiles failed to build (and thus to produce images). To address this situation, with the goal of reducing the number of broken Dockerfiles on GitHub, we created Shipwright, a human-in-the-loop system for finding repairs and suggestions: after a specific build fails, one runs Shipwright to obtain either repairs or suggestions for possible fixes. We used a modified version of the BERT language model to embed build logs and to cluster broken Dockerfiles. Using these clusters and a search-based procedure, we were able to design 63 rules for making repairs and suggestions. With the aid of Shipwright, we submitted 45 pull requests (with a 42.22% acceptance rate). Furthermore, in a ``time-travel'' analysis, we found that Shipwright proposed repairs that match ground-truth patches in 23 out of 102 cases. Finally, we compared our work with recent, state-of-the-art, static Dockerfile analyses, and found that static tools detected possible build-failure-inducing issues in 20.6–33.3% of the cases we examined, whereas Shipwright was able to provide repairs or suggestions in 73% of the cases.
Thu 27 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
20:50 - 21:50 | 3.6.2. Program Repair: General IssuesTechnical Track at Blended Sessions Room 2 +12h Chair(s): Sira Vegas Universidad Politecnica de Madrid | ||
20:50 20mPaper | Bounded Exhaustive Search of Alloy Specification RepairsTechnical Track Technical Track Simón Gutiérrez Brida University of Rio Cuarto and CONICET, Argentina, Germán Regis University of Rio Cuarto, Argentina, Guolong Zheng University of Nebraska Lincoln, Hamid Bagheri University of Nebraska-Lincoln, ThanhVu Nguyen University of Nebraska, Lincoln, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires Pre-print Media Attached | ||
21:10 20mPaper | Shipwright: A Human-in-the-Loop System for Dockerfile RepairTechnical Track Technical Track Jordan Henkel University of Wisconsin--Madison, Denini Silva Federal University of Pernambuco, Leopoldo Teixeira Federal University of Pernambuco, Marcelo d'Amorim Federal University of Pernambuco, Thomas Reps University of Wisconsin--Madison Pre-print Media Attached | ||
21:30 20mPaper | CURE: Code-Aware Neural Machine Translation for Automatic Program RepairTechnical Track Technical Track Pre-print Media Attached |
Fri 28 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
08:50 - 09:50 | |||
08:50 20mPaper | Bounded Exhaustive Search of Alloy Specification RepairsTechnical Track Technical Track Simón Gutiérrez Brida University of Rio Cuarto and CONICET, Argentina, Germán Regis University of Rio Cuarto, Argentina, Guolong Zheng University of Nebraska Lincoln, Hamid Bagheri University of Nebraska-Lincoln, ThanhVu Nguyen University of Nebraska, Lincoln, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires Pre-print Media Attached | ||
09:10 20mPaper | Shipwright: A Human-in-the-Loop System for Dockerfile RepairTechnical Track Technical Track Jordan Henkel University of Wisconsin--Madison, Denini Silva Federal University of Pernambuco, Leopoldo Teixeira Federal University of Pernambuco, Marcelo d'Amorim Federal University of Pernambuco, Thomas Reps University of Wisconsin--Madison Pre-print Media Attached | ||
09:30 20mPaper | CURE: Code-Aware Neural Machine Translation for Automatic Program RepairTechnical Track Technical Track Pre-print Media Attached |