返回
DockerFill: Automatically Completing Dockerfile Code With Syntax-Aware Multi-Task Learning
DOI:10.1109/TSE.2025.3632074.png)
摘要
En 中文
作为一种基础设施即代码,Dockerfile指定了构建的Docker镜像的结构和功能,因此在容器化软件开发过程中发挥着重要作用。如今,开发人员除了常规的编码工作外,还需要花费额外的时间和精力来配置他们的Dockerfile,这需要与软件相关经验所涉及的知识和技能正交的知识和技能。编写不佳的Dockerfile代码往往会引入错误和维护成本。然而,几乎没有可用的自动化支持来协助开发人员配置Dockerfile。在本研究中,我们首先进行了一项在线调查,以调查Docker开发人员对Dockerfile编写的看法,突出了Dockerfile自动补全技术的需求和潜在好处。然后,我们介绍DockerFill,一种基于预训练模型的方法,为Dockerfile特定代码提供补全建议。DockerFill利用多层的Transformer架构和语法感知的多任务学习,包括上下文文件信息和三个预训练任务,即掩码语言建模、语法类型识别和掩码标识符预测。为了评估DockerFill的有效性,我们收集了一个包含6,350个高质量现实世界Dockerfile的数据集。我们的实证结果表明,DockerFill在令牌级补全方面提供了高达52.38%的准确率,在行级补全方面提供了19.69%的完全匹配率,分别比基线高出7.32%-37.67%和1.97%-19.69%。此外,DockerFill在人工评估中获得了显著高于基线的评分。
Keyword:
Codes
Surveys
Transformers
Writing
Training
Multitasking
Syntactics
Manuals
Containers
Accuracy
Dockerfile
transformer
code completion
期刊
IF:
5.6
论文数:
2.9K
被引数:
1.1W

