Code Smells in Infrastructure as Code
Code Smells in Infrastructure as Code
复制标题
基础设施即代码中的代码味道
DOI:
10.1109/quatic.2018.00040
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
H. Lichter
中科院分区:
文献类型:
--
作者:
Julian Schwarz;Andreas Steffens;H. Lichter
Ensuring high quality in software systems is a wellknown and big challenge. Infrastructure as Code (IaC) gathered increasing popularity in recent years, but there is only little research done in terms of quality of this code. Like with programming languages we find a high diversity of languages and technologies. Existing research introduced code smells from traditional software engineering to the popular provisioning tool Puppet, which uses IaC to specify the desired state of environments. Results show that code smells are an adequate method to assess the quality of Puppet code. In this paper we extend the existing research by first applying code the IaC smells to an other technology and investigate if similar results can be achieved. We applied the code smells in two case studies to open and closed source IaC code repositories. The presented results indicate that IaC smells are present in other tools and technologies. Furthermore the results show that IaC smells are agnostic to the applied technology and can be defined on a technology agnostic level. Second, we introduce new code smells from the field of software engineering, which were not covered yet, to the domain of IaC. The paper presents a catalogue of 17 code smells which were applied to Chef and whose implementation is available as Open Source.