Does Your Configuration Code Smell?

Does Your Configuration Code Smell?
复制标题

DOI:
10.1145/2901739.2901761
复制
发表时间:
2016-05
期刊:
2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR)
影响因子:
--
通讯作者:
Tushar Sharma;Marios Fragkoulis;D. Spinellis
Tushar Sharma;Marios Fragkoulis;D. Spinellis
中科院分区:
其他
文献类型:
--
作者:
Tushar Sharma;Marios Fragkoulis;D. Spinellis

文献摘要

被引文献

相似文献

基础设施即代码(IaC)是通过代码指定计算系统配置并通过传统软件工程方法管理它们的实践。配置管理的广泛采用以及相关代码的大小和复杂性的增加,促使评估、维护和改进配置代码的质量。在这种情况下,传统的软件工程知识和与代码质量管理相关的最佳实践可以用来评估和管理配置代码质量。我们提出了一个目录的13个实现和11个设计配置气味,其中每个气味违反了建议的最佳实践配置代码。我们分析了4,621个Puppet存储库,其中包含890万行代码,并检测了编目的实现和设计配置气味。我们的分析表明,设计配置气味显示9%以上的平均同现比实现配置气味。我们还观察到,配置气味属于一个气味类别往往与配置气味属于另一个气味类别时,相关性计算的体积确定的气味。最后,设计配置气味密度表现出负相关,而实现配置气味密度表现出不相关的配置管理系统的大小。
Infrastructure as Code (IaC) is the practice of specifying computing system configurations through code, and managing them through traditional software engineering methods. The wide adoption of configuration management and increasing size and complexity of the associated code, prompt for assessing, maintaining, and improving the configuration code's quality. In this context, traditional software engineering knowledge and best practices associated with code quality management can be leveraged to assess and manage configuration code quality. We propose a catalog of 13 implementation and 11 design configuration smells, where each smell violates recommended best practices for configuration code. We analyzed 4,621 Puppet repositories containing 8.9 million lines of code and detected the cataloged implementation and design configuration smells. Our analysis reveals that the design configuration smells show 9% higher average co-occurrence among themselves than the implementation configuration smells. We also observed that configuration smells belonging to a smell category tend to co-occur with configuration smells belonging to another smell category when correlation is computed by volume of identified smells. Finally, design configuration smell density shows negative correlation whereas implementation configuration smell density exhibits no correlation with the size of a configuration management system.