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 that over a quarter of the examined Dockerfiles failed to build (and thus to produce images). To address this problem, we propose SHIPWRIGHT, a human-in-the-loop system for finding repairs to broken Dockerfiles. SHIPWRIGHT uses 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 13 rules for making automated repairs to Dockerfiles. With the aid of SHIPWRIGHT, we submitted 45 pull requests (with a 42.2% acceptance rate) to GitHub projects with broken Dockerfiles. Furthermore, in a "time-travel" analysis of broken Dockerfiles that were later fixed, we found that SHIPWRIGHT proposed repairs that were equivalent to human-authored patches in 22.77% of the cases we studied. Finally, we compared our work with recent, state-of-the-art, static Dockerfile analyses, and found that, while static tools detected possible build-failure-inducing issues in 20.6--33.8% of the files we examined, SHIPWRIGHT was able to detect possible issues in 73.25% of the files and, additionally, provide automated repairs for 18.9% of the files.


翻译:为解决这一问题,我们建议使用SHIPWRIGT, 即“人到行人”系统来寻找破碎的Docker文件的修理。SHIPWLEG 使用一个自动版本的 BERT 语言模型来嵌入建筑日志和破碎的 Docker 文件。我们研究了GitHub 上的Docker文件,并且 -- -- 令我们大吃一惊的 -- -- 发现超过四分之一的被检查的Docker文件未能建立(并因此生成图像)。为了解决这个问题,我们建议使用SHIPWRIGT, 这是一种用于寻找破碎的Docker文件的人工系统。SHIPWLLIGD 使用一个自动版本的自动版本来嵌入成日志和被破碎的 Docker 文件。我们用这些组和基于搜索的程序设计了13条规则来自动修理Docker文件。在SHIPRight中,我们用最近检测到的SRBYLELLA中, 1877 % 和我们用S-REFLLA 搜索了可能检测到的S-rightS-LALA中, 我们找到了的20-RELELELA中, 我们找到了的1877 和18-LA 和S-S-S-S-LILAFLLLA 找到了的修复文件,我们找到了中找到了的修复了。

0
下载
关闭预览

相关内容

Automator是苹果公司为他们的Mac OS X系统开发的一款软件。 只要通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动的(可重复的)完成一些复杂的工作。Automator还能横跨很多不同种类的程序,包括:查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。它还能和一些第三方的程序一起工作,如微软的Office、Adobe公司的Photoshop或者Pixelmator等。
【Manning新书】C++并行实战,592页pdf,C++ Concurrency in Action
专知会员服务
17+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
【陈天奇】TVM:端到端自动深度学习编译器,244页ppt
专知会员服务
86+阅读 · 2020年5月11日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
已删除
将门创投
11+阅读 · 2019年7月4日
计算机 | IUI 2020等国际会议信息4条
Call4Papers
6+阅读 · 2019年6月17日
CCF推荐 | 国际会议信息10条
Call4Papers
8+阅读 · 2019年5月27日
Github项目推荐 | pikepdf - Python的PDF读写库
AI研习社
9+阅读 · 2019年3月29日
人脸检测库:libfacedetection
Python程序员
15+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
Metamorphic Detection of Repackaged Malware
Arxiv
0+阅读 · 2021年4月27日
A Survey on Edge Intelligence
Arxiv
50+阅读 · 2020年3月26日
AutoML: A Survey of the State-of-the-Art
Arxiv
69+阅读 · 2019年8月14日
Arxiv
4+阅读 · 2018年5月4日
VIP会员
相关资讯
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
已删除
将门创投
11+阅读 · 2019年7月4日
计算机 | IUI 2020等国际会议信息4条
Call4Papers
6+阅读 · 2019年6月17日
CCF推荐 | 国际会议信息10条
Call4Papers
8+阅读 · 2019年5月27日
Github项目推荐 | pikepdf - Python的PDF读写库
AI研习社
9+阅读 · 2019年3月29日
人脸检测库:libfacedetection
Python程序员
15+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
Top
微信扫码咨询专知VIP会员