Write a Blog >>
ICSE 2021
Mon 17 May - Sat 5 June 2021

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 May

Displayed 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
20m
Paper
Bounded Exhaustive Search of Alloy Specification RepairsArtifact ReusableTechnical TrackArtifact Available
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
20m
Paper
Shipwright: A Human-in-the-Loop System for Dockerfile RepairArtifact ReusableTechnical TrackArtifact Available
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
20m
Paper
CURE: Code-Aware Neural Machine Translation for Automatic Program RepairTechnical Track
Technical Track
Nan Jiang Purdue University, Thibaud Lutellier University of Waterloo, Lin Tan Purdue University
Pre-print Media Attached

Fri 28 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

08:50 - 09:50
3.6.2. Program Repair: General IssuesTechnical Track at Blended Sessions Room 2
08:50
20m
Paper
Bounded Exhaustive Search of Alloy Specification RepairsArtifact ReusableTechnical TrackArtifact Available
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
20m
Paper
Shipwright: A Human-in-the-Loop System for Dockerfile RepairArtifact ReusableTechnical TrackArtifact Available
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
20m
Paper
CURE: Code-Aware Neural Machine Translation for Automatic Program RepairTechnical Track
Technical Track
Nan Jiang Purdue University, Thibaud Lutellier University of Waterloo, Lin Tan Purdue University
Pre-print Media Attached